python - Django query works from the shell, but not the dev server? Raises FieldError in dev server -
मैं Django के ORM (django 1.3) के साथ एक wtf क्षण रहा है। विकास सर्वर में:
# x.modules.training.models कक्षा प्रशिक्षण में (x.models.Base): प्रशिक्षकों = मॉडल.ManyToManyField (staff_models.Staff, related_name = 'training_taught') लोग = मॉडल। कई सारे माईफिल्ड (एक्स.मोल्स.पीसरन, संबंधित_नाम = 'ट्रेनिंग_अटेटेड') # एक्स.मोडियल्स.स्टाफ.मोडिया से किसी भी दृश्य में आयात करें एक्स.मोल्स से कर्मचारी आयात करें कर्मचारी कर्मचारी.बाइजेसफिल्टर (ट्रेनिंग_टॉट = 12) # [ & Lt; स्टाफ: स्टाफ ऑब्जेक्ट & gt;] Person.objects.filter (training_attended = 12) # फ़ील्ड त्रुटि: फ़ील्ड में कीवर्ड 'ट्रेनिंग_अटेंटेड' को हल नहीं किया जा सकता। विकल्प हैं: पता, टिप्पणी, संपर्क_ फोरेकर, ईमेल, किसान, प्रथम_नाम, आईडी, अंतिम_नाम, मोबाइल_एनम्बर, संशोधित किया गया, संशोधित_टाईमस्टैम्प, राष्ट्रीय_आईडी, पासपोर्ट_एनम्बर, क्षेत्र, संस्करण # यह एक बहुत से कई लोगों के लिए क्यों काम करेगा और दूसरा नहीं? जबकि सामान्य अजगर खोल में, (नोट x अजगर पथ पर है) कोई फर्क नहीं पड़ता कि दो आयात लाइनों के क्रम में, दोनों प्रश्न अभी ठीक चलते हैं।
<कोड> & gt; & gt; & gt; X.models आयात से * & gt; & gt; & gt; एक्स आयात मॉड्यूल से & gt; & gt; & gt; Person.objects.filter (ट्रेनिंग_अटेंडेड = 12) & gt; & gt; & gt;
यदि आपके पास प्रशिक्षण कक्षा से कोई वर्ग उत्तराधिकारी है, तो आपको सभी संबंधित_नाम के भिन्न होने की गारंटी चाहिए। तो आपको इसे इस रूप में घोषित करना चाहिए:
लोग = मॉडल। बहुस्तरीयफिल्ड (x.models.Person, related_name = '% (app_label) s _% (class) s_trainings_attended')
Comments
Post a Comment