2011-01-24 8 views
5

में एक foreignkey नहीं है मिल मैं 2 मॉडल:Django - एक तालिका में सभी वस्तुओं को जो एक और तालिका

class Friend(models.Model): 
    person1 = models.ForeignKey("Person", related_name="friend1") 
    person2 = models.ForeignKey("Person", related_name="friend2") 
    created = models.DateTimeField(auto_now=True, auto_now_add=True, editable=False) 

class Person(models.Model): 
    firstname = models.CharField(max_length=100) 
    surname = models.CharField(max_length=100) 
    created = models.DateTimeField(auto_now=True, auto_now_add=True, editable=False) 

मैं Person वस्तुओं जो Friend वस्तु में कोई भी प्रविष्टि नहीं है की एक सूची चाहते हैं। जैसे

no_friends = Person.objects.filter(????) 

लेकिन मुझे यकीन नहीं है कि फ़िल्टर क्या होना चाहिए।

+4

नामकरण युक्ति: आपके मित्र वर्ग को वास्तव में 'मित्रता' कहा जाना चाहिए, क्योंकि यह दो दोस्तों के बीच * संबंध * मॉडलिंग कर रहा है। –

+0

आप इसे देखना चाहते हैं: http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships – crodjer

उत्तर

10

संबंधित प्रबंधक का उपयोग करने का प्रयास करें।

no_friends = Person.objects.filter(friend1=None,friend2=None) 
संबंधित मुद्दे