1
我有以下型號:Django的,如何使用計數Q中
class Group(models.Model):
group_name = models.CharField(max_length=16)
class Member(models.Model):
group = models.ForeignKey('Group')
member_name = models.CharField(max_length=16)
gender = models.BooleanField() #False is "female", True is "male"
我怎樣才能找到一個Group
誰沒有Member
,或者男性Member
S的數量是零?
我嘗試以下,但它沒有工作:
Group.objects.filter(Q(member__isnull=True) |
Q(member__isnull=False) &
Q(Count(member__gender=True)=0))
是的,過濾器是正確的,但你的解決方案不工作。我想找到沒有成員或全體成員都是女性的「小組」。 –
@RichardYang我在編輯我的答案,看一看! – Sentient07
(1)Group.objects.filter(Q(member__isnull = True)|〜Q(member__gender = True))。distinct(),你應該添加不同的。 (2)你的解決方案是對的,因爲它不健壯。如果我想要「男性會員是2」怎麼辦? (3)但無論如何,所以標記你的答案有用。 –