从Django中的两个列表中删除具有相同ID的行

时间:2011-12-22 04:11:43

标签: python django

我有一个名为checkins的对象列表,列出了用户检查过某些内容的所有时间以及另一组名为flagged_checkins的对象,这些对象肯定是用户已标记的签名。它们都引用了使用location_id

调用的第3个表

我想获取两个对象列表,并删除checkins

中具有location_id的任何flagged_checkins

如何比较这些集合并从'checkins'中删除行

2 个答案:

答案 0 :(得分:0)

根据this SO question

checkins.objects.filter( location_id__in = list(flagged_checkins.objects.values_list('location_id', flat=True)) ).delete()

答案 1 :(得分:0)

如果您正在谈论queryset,那么您肯定可以尝试:

checkins.objects.exclude( location_id__in = list(flagged_checkins.objects.values_list('location_id', flat=True)) )

这将根据您的条件删除对象。但不是来自数据库级别。