0

我有 2 个模型, Bacon并且Eggs都必须ForeignKey建模Spam

我需要找出与 无关的培根Eggs,目前我正在按以下方式进行操作:

objs = Bacon.objects.select_related.filter(somefilter=value)

for obj in objs:
    if obj.spam.eggsspam.count():
        continue

    do_something()

我确定必须有更优化的方法?

4

2 回答 2

3

尝试:

Bacon.objects.filter([m2m_field_name]__isnull=True)
于 2012-06-20T15:40:04.693 回答
2

你想要注释。代码将与此类似:

Bacon.objects.annotate(num_eggs=Count('spam__egg_set')).filter(num_eggs__eq=0)
于 2012-06-20T15:52:29.867 回答