2013-02-11 13 views
17

मेरे पास MyModel2 एक मॉडल है जो ManyToManyField के साथ एक अन्य मॉडल MyModel1 से संबंधित है।कई लोगों के लिए Django द्वारा बनाई गई तालिका से सीधे पूछताछ कैसे करें?

मैं mymodel1.id, mymodel2.id जोड़ों को कैसे प्राप्त कर सकता हूं, जैसा कि इस संबंध के लिए Django तालिका में दर्शाया गया है? क्या मुझे इस तालिका पर कच्ची एसक्यूएल क्वेरी करना है या क्या यह इस मॉडल के ऑब्जेक्ट मैनेजर के माध्यम से संभव है?

class MyModel1(models.Model): 
    name = models.CharField(max_length=50) 


class MyModel2(models.Model): 
    name = models.CharField(max_length=50) 
    mymodel1 = models.ManyToManyField(MyModel1) 

उत्तर

35

यह कई क्षेत्र उदाहरण के लिए कई प्रकार है:

MyModel2.mymodel1 

यह मध्यस्थ तालिका मॉडल है:

MyModel2.mymodel1.through 

यह मध्यस्थ मॉडल प्रबंधक है:

MyModel2.mymodel1.through.objects 

यह एक प्रश्न देता है सभी मध्यस्थ मॉडल के लिए सेट करें:

MyModel2.mymodel1.through.objects.all() 

This part Django किए गए दस्तावेज़ों की through के बारे में बात करते हैं। आप through मॉडल स्वयं बना सकते हैं, अन्यथा यह स्वचालित रूप से जेनरेट किया गया है।

+0

यह मेरे सभी संदेहों को साफ़ करता है ,, :) – Spiderman

+0

'ManyToManyDescriptor' ऑब्जेक्ट में कोई विशेषता नहीं है 'हालांकि' –

+0

आपके पास एक टाइपो है;) यह है! – jpic

संबंधित मुद्दे