2012-02-01 18 views
19

सरलीकृत नहीं मिल रहा है, मैं निम्नलिखित वर्ग संरचना (एक एकल फाइल में) यकीन है कि कैसे अजगर मद वर्ग नहीं मिल रहा है, तब भी जब एक स्ट्रिंग के रूप बल्कि नाम से, वर्ग गुजर के रूप में, मैं एक ही त्रुटि मिलती है। मैं कैसे SQLAlchemy के साथ सरल रिश्तों करने के लिए वहाँ कुछ काफी स्पष्ट गलत यहाँ मैं माफी माँगता हूँ, इसलिए यदि का उदाहरण खोजने के लिए संघर्ष कर रहा है।SQLAlchemy एक वर्ग के नाम

+1

यह उत्तर भी उपयोगी हो सकता है: http://stackoverflow.com/questions/7478403/sqlalchemy-classes-across-files –

+0

यह उत्तर भी उपयोगी हो सकता है: http://stackoverflow.com/a/4235691/232794 – Sardathrion

उत्तर

17

यह सब निकला क्योंकि जिस तरह से मैं पिरामिड में SQLAlchemy सेट कर लिए जाने की हो। अनिवार्य रूप से आप पत्र के लिए this section का पालन करें और आप एक मॉडल के लिए आधार वर्ग के रूप में ही declarative_base उदाहरण का उपयोग सुनिश्चित करने के लिए की जरूरत है।

मैं अपने DBSession पर डेटाबेस इंजन को बाध्यकारी भी नहीं कर रहा था जो आपको तब तक परेशान नहीं करता जब तक आप तालिका मेटाडेटा तक पहुंचने का प्रयास नहीं करते हैं, जो तब होता है जब आप संबंधों का उपयोग करते हैं।

0

इसके अलावा, हालांकि यह ओपी पर लागू नहीं होता है, यहां तक ​​कि किसी भी त्रुटि को प्राप्त करने के लिए यहां लैंडिंग के लिए, यह सुनिश्चित करने के लिए जांचें कि आपके किसी भी तालिका के नाम में डैश नहीं हैं।

उदाहरण के लिए, "फिल्म-जेनर्स" नाम की एक तालिका जिसे एक एसक्लाक्लेमी रिश्ते में द्वितीयक के रूप में उपयोग किया जाता है, उसी त्रुटि को "name 'movie' is not defined" उत्पन्न करेगा, क्योंकि यह केवल डैश के रूप में पढ़ेगा। (डैश के बजाय) अंडरस्कोर पर स्विच किया जा समस्या का हल।

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