खोज…


परिचय

फ्लास्क-SQLAlchemy एक फ्लास्क एक्सटेंशन है जो लोकप्रिय Python ऑब्जेक्ट रिलेशनल मैपर (ORM) SQLAlchemy से फ्लास्क एप्लिकेशन के लिए समर्थन जोड़ता है। इसका उद्देश्य सामान्य कार्यों को कुछ डिफ़ॉल्ट कार्यान्वयन प्रदान करके फ्लास्क के साथ SQLAlchemy को सरल बनाना है।

स्थापना और प्रारंभिक उदाहरण

स्थापना

pip install Flask-SQLAlchemy

सरल मॉडल

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    email = db.Column(db.String(120), unique=True)

ऊपर दिए गए कोड का उदाहरण एक साधारण फ्लास्क-SQLAlchemy मॉडल दिखाता है, हम मॉडल घोषणा में एक वैकल्पिक टैबलेनम जोड़ सकते हैं, हालांकि यह अक्सर आवश्यक नहीं होता है क्योंकि फ्लास्क-SQLAlchemy स्वचालित रूप से डेटाबेस के निर्माण के दौरान तालिका के रूप में वर्ग नाम का उपयोग करेगा।

हमारी कक्षा बेसकलैस मॉडल से विरासत में आएगी जो एक कॉन्फ़िगर किया गया घोषणात्मक आधार है इसलिए हमारे लिए SQLAlchemy का उपयोग करते समय आधार को स्पष्ट रूप से परिभाषित करने की कोई आवश्यकता नहीं है।

संदर्भ

रिश्ते: एक से कई

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(80))
        email = db.Column(db.String(120), unique=True)
        posts = db.relationship('Post', backref='user')


    class Post(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        content = db.Column(db.Text)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id')

इस उदाहरण में हमारे पास दो वर्ग हैं उपयोगकर्ता वर्ग और पोस्ट वर्ग, उपयोगकर्ता वर्ग हमारे माता-पिता होंगे और पोस्ट हमारी पोस्ट होगी क्योंकि केवल पोस्ट एक उपयोगकर्ता से संबंधित हो सकती है लेकिन एक उपयोगकर्ता के पास कई पोस्ट हो सकते हैं। यह सुनिश्चित करने के लिए कि हम माता-पिता को संदर्भित करने वाले बच्चे पर एक विदेशी कुंजी रखते हैं जो हमारे उदाहरण से है हम उपयोगकर्ता वर्ग को संदर्भित करने के लिए पोस्ट क्लास पर एक विदेशी कुंजी रखते हैं। फिर हम उस अभिभावक पर relationship() उपयोग करते हैं जिसे हम अपने SQLAlchemy ऑब्जेक्ट db माध्यम से एक्सेस करते हैं। इसके बाद हमें पोस्ट क्लास द्वारा प्रस्तुत वस्तुओं के संग्रह को संदर्भित करने की अनुमति देता है जो हमारा बच्चा है।

एक द्विदिश संबंध बनाने के लिए हम backref उपयोग करते हैं, इससे बच्चे को माता-पिता का संदर्भ मिल सकेगा।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow