यहां मॉडल की परिभाषा दी गई है:
वर्ग ItemBrand (models.Model): name = models.CharField (MAX_LENGTH = 30, अद्वितीय = सच) डीईएफ़ __unicode __ (स्वयं): वापसी self.name वर्ग WantedItem (models.Model): नाम = models.CharField (MAX_LENGTH = 120) वर्णन = मॉडल = models.TextField () बनाया गया .DateTimeField (auto_now = झूठी, auto_now_add = सच) की समय सीमा समाप्त = models.DateTimeField (auto_now = झूठी, auto_now_add = झूठी) टाइप = models.ForeignKey (itemtype, related_name = "प्रकार चाहता था") GENDER_CHOICES = ((1, 'माले') , (2, 'महिला')) लिंग = models.IntegerField (विकल्प = GENDER_CHOICES) ब्रांडों = models.ManyToManyField (ItemBrand, related_name = "wantedbrands", सममित = false) रंग = models.ManyToManyField (ItemColor) आकार = models.ManyToManyField (मदसिखे) निर्माता = मॉडेल। फ़िनिगेकी (उपयोगकर्ता, संबंधित_नाम = "इच्छा सूची निर्माता") def __unicode __ (स्वयं): वापसी self.name
यहां AdminModel कोड है:
वर्ग BrandsInline (admin.TabularInline): मॉडल = WantedItem.brands। वर्ग WantedItemAdmin (admin.ModelAdmin) के माध्यम से: list_display = ( 'नाम', 'बनाया', 'समाप्त हो रहा है', 'प्रकार', 'लिंग', 'निर्माता') search_fields = ( 'नाम', 'विवरण') list_filter = ( 'निर्मित', 'ब्रांड',) क्रम = ('-कितित',) इनलाइनों = [ब्रांड्सइनलाइन,] = ('ब्रांड') बहिष्कृत करें
यह मूल रूप से सही से खींच लिया गया है Django डॉक्स, और यहाँ त्रुटि मैं हो रही है:
'ReverseManyRelatedObjectsDescriptor' ऑब्जेक्ट कोई विशेषता 'से लेकर' है
मैं एक कुल नुकसान में हूँ ... किसी भी विचार? यहां तक कि अगर मैं सचमुच एक लिंकर तालिका बना रहा हूं और मॉडल में "के माध्यम से" विशेषता सेट करता हूं तो मुझे एक ही त्रुटि मिलती है।
टूटी?
आपको ट्रांजैक्शन में जेगंगा को अपग्रेड करना होगा।
कई-से-कई क्षेत्रों के साथ इनलाइन का उपयोग करना डीजेंगो डेवलपमेंट वर्ज़न में नया ()।
अपने मॉडलों के सरलीकृत संस्करण का उपयोग करते हुए, मुझे Django 1.1.1 के लिए आपको एक ही त्रुटि मिलती है, लेकिन यह ट्रंक (संशोधन 11785) पर काम करता है।
एक तरफ के रूप में, आपको सममित = गलत
को अपने आइटमब्रांड
ManyToMany फ़ील्ड पर निर्दिष्ट करने की आवश्यकता नहीं है। सममित विकल्प केवल पुनरावर्ती संबंधों जैसे उपयोगकर्ता & lt; - & gt; उपयोगकर्ता
।
आप पर एक नज़र रखना चाहते हैं, और उन्हें और अधिक तार्किक रूप से भी नाम के बारे में सोच सकते हैं। यदि निर्माता
एक उपयोगकर्ता
ऑब्जेक्ट है, और वे जो इच्छा सूची तैयार कर चुके हैं, तो डिफ़ॉल्ट जब related_name
निर्दिष्ट नहीं है संबंधित_नाम
के लिए अपनी पसंद के साथ
creator.wishlist_set.all ()
(जब आप अंडरस्कोर जोड़ते हैं), यह < / P>
creator.wishlist_creator.all ()
लेकिन मैं related_name = 'wishlists'
सुझाऊंगा, जिस स्थिति में आप उपयोग करेंगे
creator.wishlists.all ()
No comments:
Post a Comment