gpt4 book ai didi

django - 过滤查询集以获取空的相关集

转载 作者:行者123 更新时间:2023-12-04 13:50:35 25 4
gpt4 key购买 nike

我想获得一个 QuerySet(用于提供 ModelChoiceField)列出在相关集合上具有空 ForeignKey 的所有对象。

我的模型的示例摘录:

class Bankcard(models.Model):
name = models.CharField(max_length=128)
number = models.IntegerField()
...

class Person(models.Model):
bankcard = models.ForeignKey(Bankcard, blank=True, null=True)
first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
...

在表格中,我想列出所有尚未与某人关联的银行卡。

我尝试做的是将自己的过滤作为列表的一部分:
bankcards = Bankcard.objects.all()
unbound_cards = []
for card in bankcards:
if len(card.person_set.all()) == 0:
unbound_cards.append(card)

...但这不起作用,因为我需要向 ModelChoiceField 提供 QuerySet 而不是列表,我得到 'list' object has no attribute 'all' .

所以我尝试直接在相关集上过滤:
unbound_cards = Bankcard.objects.filter(person_set__isnull = True)

这也不起作用: django.core.exceptions.FieldError: Cannot resolve keyword 'person_set' into field. Choices are: ...
任何的想法?

最佳答案

尝试:

Bankcard.objects.filter(person__isnull=True)

关于django - 过滤查询集以获取空的相关集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com