"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Django गतिशील रूप से निर्दिष्ट नामों के साथ एकाधिक अस्थायी तालिकाओं के साथ इंटरफ़ेस कैसे कर सकता है?

Django गतिशील रूप से निर्दिष्ट नामों के साथ एकाधिक अस्थायी तालिकाओं के साथ इंटरफ़ेस कैसे कर सकता है?

2024-11-20 को प्रकाशित
ब्राउज़ करें:375

How can Django interface with multiple temporary tables with dynamically assigned names?

Django में कई अस्थायी तालिकाओं के साथ इंटरफेसिंग

जब अस्थायी तालिकाओं वाले MySQL डेटाबेस के साथ काम करते हैं जो एक समान स्कीमा साझा करते हैं लेकिन गतिशील रूप से असाइन किए गए नाम होते हैं, इन तालिकाओं और Django के बीच एक इंटरफ़ेस स्थापित करना आवश्यक हो जाता है। यह आलेख गतिशील नामों के साथ कई तालिकाओं से डेटा पुनर्प्राप्त करने के लिए एकल Django मॉडल का उपयोग करने की व्यवहार्यता का पता लगाता है। डेटाबेस तालिका नामों पर, एक फ़ैक्टरी फ़ंक्शन बनाया जा सकता है। फ़ैक्टरी फ़ंक्शन, 'getModel', तालिका नाम को एक तर्क के रूप में लेता है और एक गतिशील 'db_table' विशेषता के साथ एक मॉडल वर्ग लौटाता है। उदाहरण के लिए:

def getModel(db_table): कक्षा MyClass(मॉडल.मॉडल): # यहां मॉडल फ़ील्ड को परिभाषित करें क्लास मेटा: डीबी_टेबल = डीबी_टेबल रिटर्न मायक्लास

डायनेमिक क्लास नेम्स के लिए मेटाक्लास दृष्टिकोण

def getModel(db_table):
    class MyClass(models.Model):
        # Define model fields here
        class Meta:
            db_table = db_table
    
    return MyClass

class MyClassMetaclass(models.base.ModelBase): def __new__(cls, नाम, आधार, attrs): नाम = db_table वापसी मॉडल.बेस.मॉडलबेस.__नया__(सीएलएस, नाम, आधार, एटीआरएस) कक्षा MyClass(मॉडल.मॉडल): __metaclass__ = MyClassMetaclass क्लास मेटा: db_table = db_table

'db_table' विशेषता का गतिशील संशोधन

class MyClassMetaclass(models.base.ModelBase):
    def __new__(cls, name, bases, attrs):
        name  = db_table
        return models.base.ModelBase.__new__(cls, name, bases, attrs)

class MyClass(models.Model):
    __metaclass__ = MyClassMetaclass

    class Meta:
        db_table = db_table

MyModel._meta.db_table = '10293847_टेबल'इन तकनीकों का उपयोग करके, Django का उपयोग कई अस्थायी तालिकाओं के साथ इंटरफेस करने के लिए किया जा सकता है, जो गतिशील रूप से नामित तालिकाओं से डेटा पुनर्प्राप्ति को सक्षम बनाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3