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 に答える