2010-06-15 65 views
2

乾草,Django的多對多過濾問題

我有一個模型,它看起來像這樣

class Person(models.Model): 
    name = models.CharField(blank=False, max_length=100) 
    friends = models.ManyToManyField('self', blank=True, null=True) 

我怎麼會過濾掉一個人怎麼有朋友嗎?

我試圖

people_with_friends = Person.objects.filter(friends=True) 

,但沒有運氣。

任何人都伸出援助之手?

謝謝

回答

7

這是怎麼回事?

people_with_friends = Person.objects.exclude(friends=None) 
+0

這個工程,但我不知道爲什麼原來的解決方案不!不管怎麼說,還是要謝謝你! – dotty 2010-06-15 11:30:54

+2

我認爲最初的解決方案不起作用,因爲'朋友'(當有朋友的時候)的值是一個ManyRelatedManager對象,並且您正在測試的值等於True。 – msanders 2010-06-15 11:42:03