2009-11-04 12 views
6

मेरे पास मेरे मॉडल में विदेशी कुंजी प्रविष्टियां हैं जो मैं अपने पसंद के क्षेत्रों के लिए उपयोग करना चाहता हूं ... अब मुझे यकीन नहीं है कि इस बारे में कैसे जाना है .... मेरी मॉडल फ़ाइल here पाया जा सकता है मूल रूप से मैं वाहन बनाने, मॉडल, वर्ष, शरीर शैली, बाहरी रंग और संचरण के लिए एक विकल्प क्षेत्र चाहता हूं। चूंकि उनमें से सभी एक ही तरीके से काम करते हैं, इसलिए मुझे किसी को सही दिशा में इंगित करने की आवश्यकता है तो मैं पूरी तरह से तैयार हूं।फॉर्म में विदेशीकी फ़ील्ड का चयन करें ChoiceField

class Model(models.Model): 
    model = models.CharField(max_length=15, blank=False) 
    manufacturer = models.ForeignKey(Manufacturer) 
    date_added = models.DateField() 
    def __unicode__(self): 
     name = ''+str(self.manufacturer)+" "+str(self.model) 
     return name 

class BodyStyle(models.Model): 
    doors = models.PositiveSmallIntegerField() 
    passengers = models.PositiveSmallIntegerField() 
    style = models.CharField(max_length=15, blank=False) 
    def __unicode__(self): 
     name = str(self.doors)+" Door/"+str(self.passengers)+" Passenger/"+str(self.style) 
     return name 

उत्तर

15

शायद आप ModelChoiceField देख रहे हैं?

class VehicleForm(forms.Form): 
    series = ModelChoiceField(queryset=Series.objects.all()) # Or whatever query you'd like 

फिर अन्य क्षेत्रों के लिए भी ऐसा ही:

इसका इस्तेमाल करने के लिए आपको कुछ ऐसा लिखेंगे।

बेशक, आप शायद मॉडलफॉर्म का उपयोग करेंगे लेकिन यह सिर्फ एक उदाहरण है। क्या आप यही खोज रहे हैं?

+0

मुझे लगता है कि यह वही है जो मैं चाहता हूं .... मुझे इसे कुछ मिनटों में आज़माएं, फिर मैं देखूंगा कि यह काम करता है या नहीं। –

+0

यह ठीक काम करता है :) हालांकि एक मुद्दा हालांकि ... वहां शरीर शैली और मॉडल मॉडल मॉडल नाम नहीं लौटाता है। मेरे मॉडल यूनिकोड में एमडीएक्स ... यह मेक प्लस मॉडल देता है, इसलिए यह मेरे रूप में मिलता है लेकिन मुझे केवल मॉडल चाहिए। शैली के लिए वही ... मॉडल परिभाषा –

+0

के लिए उपरोक्त मेरा संपादन देखें मुझे यकीन नहीं है कि मैं जो कह रहा हूं उसे पूरी तरह से समझता हूं (मैं बीमार हूं इसलिए मेरी धारणा बंद है .. :)) लेकिन मुझे लगता है कि आप क्या चाहते हैं 'label_from_instance' का उपयोग करना है जो आपको फ़ील्ड के आउटपुट को संशोधित करने की अनुमति देता है। यदि आप इसे Google करते हैं, तो आपको कुछ उदाहरण मिलना चाहिए। – Bartek

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