Django 2.1 - Integrating Django with a legacy database

एक विरासत डेटाबेस के साथ Django के एकीकरण




django

एक विरासत डेटाबेस के साथ Django के एकीकरण

जबकि Django नए अनुप्रयोगों को विकसित करने के लिए सबसे उपयुक्त है, इसे विरासत डेटाबेस में एकीकृत करना काफी संभव है। Django में इस प्रक्रिया का यथासंभव उपयोग करने के लिए कुछ उपयोगिताओं को शामिल किया गया है।

यह दस्तावेज़ मान लेता है कि आप Django की मूल बातें जानते हैं, जैसा कि tutorial में शामिल है।

एक बार जब आप Django की स्थापना कर लेते हैं, तो आप मौजूदा डेटाबेस के साथ एकीकृत करने के लिए इस सामान्य प्रक्रिया का पालन करेंगे।

Django अपने डेटाबेस मापदंडों दे

आपको Django को बताना होगा कि आपके डेटाबेस कनेक्शन पैरामीटर क्या हैं, और डेटाबेस का नाम क्या है। DATABASES सेटिंग को संपादित करके और 'default' कनेक्शन के लिए निम्न कुंजियों को मान निर्दिष्ट करें:

मॉडल स्वतः उत्पन्न करें

Django एक inspectdb नामक एक उपयोगिता के साथ आता है जो एक मौजूदा डेटाबेस को आत्मनिरीक्षण करके मॉडल बना सकता है। आप इस कमांड को चलाकर आउटपुट देख सकते हैं:

$ python manage.py inspectdb

मानक यूनिक्स आउटपुट पुनर्निर्देशन का उपयोग करके इसे फ़ाइल के रूप में सहेजें:

$ python manage.py inspectdb > models.py

यह सुविधा एक शॉर्टकट के रूप में है, न कि निश्चित मॉडल पीढ़ी के रूप में। अधिक जानकारी के लिए inspectdb के inspectdb देखें।

एक बार जब आप अपने मॉडल को साफ कर लेते हैं, तो फ़ाइल मॉडल का नाम models.py और उसे अपने ऐप पर रखने वाले पायथन पैकेज में डाल दें। फिर अपने INSTALLED_APPS सेटिंग में ऐप को जोड़ें।

डिफ़ॉल्ट रूप से, inspectdb unmanaged मॉडल बनाता है। अर्थात्, managed = False मॉडल के Meta क्लास में managed = False से Django को प्रत्येक तालिका के निर्माण, संशोधन और हटाने का प्रबंधन नहीं करने के लिए कहता है:

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.CharField(max_length=70)
    class Meta:
       managed = False
       db_table = 'CENSUS_PERSONS'

यदि आप Django को तालिका के जीवनचक्र को प्रबंधित करने की अनुमति देना चाहते हैं, तो आपको ऊपर दिए गए managed विकल्प को True बदलना होगा (या बस इसे हटा दें क्योंकि True इसका डिफ़ॉल्ट मान है)।

कोर Django टेबल स्थापित करें

अगला, किसी भी अतिरिक्त आवश्यक डेटाबेस रिकॉर्ड जैसे व्यवस्थापक अनुमतियाँ और सामग्री प्रकार स्थापित करने के लिए migrate कमांड चलाएँ:

$ python manage.py migrate

टेस्ट और ट्वीक करें

वे मूल चरण हैं - यहाँ से आप उन मॉडलों को बनाना चाहते हैं जब तक कि आप जिस तरह से काम करना चाहते हैं, तब तक वे Django उत्पन्न नहीं करते। Django डेटाबेस एपीआई के माध्यम से अपने डेटा तक पहुँचने का प्रयास करें, और Django के व्यवस्थापक साइट के माध्यम से वस्तुओं को संपादित करने का प्रयास करें, और तदनुसार मॉडल फ़ाइल को संपादित करें।