Does order of declaration matter in models.py (Django / Python)? -


मेरे पास models.py

  वर्ग ज़िपकोड (models.Model) में ऐसा कुछ है : Zip = models.CharField (max_length = 20) शहरों = सिटी.ओबीजेस। फिटर (ज़िप = स्व) .डिस्टिंक () क्लास सिटी (models.Model): name = models.CharField (max_length = 50) slug = models.CharField (Max_length = 50) state = models.ForeignKey (राज्य) zip = models.ManyToManyField (ज़िपकोड)  

जब मैं यह करता हूं मुझे:

  NameError : नाम 'शहर' परिभाषित नहीं है  

क्या यह घोषणा के आदेश के कारण है? और यदि हां, तो मैं यह कैसे कर सकता हूं, क्योंकि मैं इसे किसी भी तरह से व्यवस्थित करता हूं, ऐसा लगता है कि मुझे एक नाम की त्रुटि मिलती है।

धन्यवाद।

<

हालांकि, इस समस्या का सामना करना लगभग हमेशा एक संकेत साबित हो रहा है कि आप कर रहे हैं कुछ गलत कर रहा है।

इस मामले में आपकी घोषणा:

  शहर = शहर.बाइजस्केफ़िलटर (ज़िप = स्व)। दिस्टिंक ()  

... दोनों और बुरा व्यवहार है आप अपने विचारों में उस ज़िप कोड के शहर की गिनती के संदर्भ में ज़िप कोड से संबंधित शहर पा सकते हैं (यानी आपके मॉडल में नहीं!)। इसलिए यदि ज़िप ज़िपकोड का एक उदाहरण है, तो आप ऐसा करेंगे:

  शहरों = zip.city_set.all ()  

अगर आप वास्तव में इसे कॉल करना चाहते हैं 'City_set' की बजाय 'शहरों' आप अपने एम 2 एम घोषणा में संबंधित_नाम पैरामीटर का उपयोग कर सकते हैं।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -