में डायनामिक क्लास क्रिएशन हमें कई बाहरी डेटा स्रोतों तक पहुंचने के लिए एसक्यूएलकेमी कक्षाएं बनाने की आवश्यकता है जो समय के साथ-साथ बढ़ेगी। हम अपने कोर ओआरएम मॉडल के लिए घोषणात्मक आधार का उपयोग करते हैं और मुझे पता है कि हम स्वत: लोड का उपयोग करके मैन्युअल रूप से नए ओआरएम कक्षाओं को निर्दिष्ट कर सकते हैं = ऑटो को मैपिंग उत्पन्न करने के लिए सही है।SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
stored={}
stored['tablename']='my_internal_table_name'
stored['objectname']='MyObject'
और कुछ में इस गतिशील रूप से की तरह मोड़:
class MyObject(Base):
__tablename__ = 'my_internal_table_name'
__table_args__ = {'autoload':True}
हम नहीं चाहते
समस्याकि हम उन्हें कुछ गतिशील रूप ले रही है इस तरह उत्पन्न सक्षम होना चाहिए है कनेक्शन खोलने के लिए आवश्यक से अधिक लंबे समय तक बने रहें, प्रश्नों को निष्पादित करें, और फिर कनेक्शन बंद करें। इसलिए, आदर्श रूप में, हम आइटम को "संग्रहीत" चर में डेटाबेस में रख सकते हैं और उन्हें आवश्यकतानुसार खींच सकते हैं। दूसरी चुनौती यह है कि ऑब्जेक्ट का नाम (उदा। "MyObject") का उपयोग विभिन्न कनेक्शनों पर किया जा सकता है ताकि हम इसे एक बार परिभाषित नहीं कर सकें और इसे चारों ओर रख सकें।
यह कैसे पूरा किया जा सकता है इस पर कोई सुझाव बहुत सराहना की जाएगी।
धन्यवाद ...
लड़का ... मैं गूंगा लग रहा है। इतना आसान समाधान। मुझे एहसास नहीं हुआ कि विधि विधि इतनी शक्तिशाली थी। मैंने ऑब्जेक्ट नाम को वैश्विक स्थान में रखने के लिए थोड़ा सा समाधान संशोधित किया है, इसलिए इसे सीधे SQLAlchemy प्रश्नों में शामिल किया जा सकता है: ग्लोबल्स() [संग्रहीत ['objectname']] = प्रकार (संग्रहित '' objectname '], (बेस,), मैडिक्ट) धन्यवाद ... महान समाधान। – PlaidFan
गूंगा महसूस मत करो! मैंने इस चाल को एसओ पर दूसरों का उपयोग करके देखकर सीखा। अब आप चाल भी जानते हैं और अपने दोस्तों को वाह कर सकते हैं। :) – unutbu