Django ORM tutorial

From binaryoption
Revision as of 23:46, 6 May 2025 by Admin (talk | contribs) (@CategoryBot: Оставлена одна категория)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1

डjango ORM ट्यूटोरियल

परिचय

डjango एक उच्च-स्तरीय पायथन वेब फ्रेमवर्क है जो त्वरित विकास और साफ, व्यावहारिक डिजाइन को प्रोत्साहित करता है। डjango का एक शक्तिशाली फीचर है इसका ऑब्जेक्ट-रिलेशनल मैपर (ORM)। ORM आपको पायथन कोड का उपयोग करके डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है, सीधे SQL क्वेरी लिखने की आवश्यकता के बिना। यह न केवल विकास को तेज करता है बल्कि आपके कोड को अधिक पठनीय और रखरखाव योग्य भी बनाता है। इस ट्यूटोरियल में, हम डjango ORM की मूल बातें सीखेंगे और देखेंगे कि इसका उपयोग डेटाबेस को क्वेरी करने, बनाने, अपडेट करने और हटाने के लिए कैसे किया जाता है।

ORM क्या है?

ORM का मतलब ऑब्जेक्ट-रिलेशनल मैपर है। यह एक तकनीक है जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं (जैसे पायथन) और रिलेशनल डेटाबेस (जैसे MySQL, PostgreSQL, SQLite) के बीच एक पुल बनाती है। ORM डेटाबेस टेबल को पायथन क्लासेस के रूप में दर्शाते हैं, और टेबल की पंक्तियों को ऑब्जेक्ट के रूप में दर्शाते हैं। यह आपको डेटाबेस के साथ इंटरैक्ट करने के लिए ऑब्जेक्ट-ओरिएंटेड सिंटैक्स का उपयोग करने की अनुमति देता है, SQL क्वेरी लिखने की आवश्यकता के बिना।

डjango ORM के प्रमुख घटक

डjango ORM कई प्रमुख घटकों से मिलकर बना है:

  • मॉडल (Models): मॉडल पायथन क्लासेस हैं जो आपके डेटाबेस टेबल को परिभाषित करते हैं। प्रत्येक मॉडल एक टेबल का प्रतिनिधित्व करता है, और मॉडल के एट्रिब्यूट टेबल के कॉलम का प्रतिनिधित्व करते हैं। डjango मॉडल
  • क्वेरीसेट (QuerySets): क्वेरीसेट डेटाबेस से डेटा प्राप्त करने के लिए उपयोग किए जाने वाले ऑब्जेक्ट हैं। वे डेटाबेस क्वेरी का प्रतिनिधित्व करते हैं और आपको डेटा को फ़िल्टर, ऑर्डर और स्लाइस करने की अनुमति देते हैं। डjango क्वेरीसेट
  • मैनेजर (Managers): मैनेजर मॉडल के लिए डेटाबेस इंटरफेस प्रदान करते हैं। वे आपको डेटाबेस को क्वेरी करने और अपडेट करने के लिए तरीके प्रदान करते हैं। डjango मैनेजर
  • फील्ड्स (Fields): फील्ड्स मॉडल के एट्रिब्यूट हैं जो डेटाबेस टेबल के कॉलम को परिभाषित करते हैं। डjango कई अलग-अलग प्रकार के फील्ड्स प्रदान करता है, जैसे कि कैरेक्टर फील्ड, इंटीजर फील्ड, और डेट फील्ड। डjango फील्ड्स

एक मॉडल बनाना

डjango में एक मॉडल बनाने के लिए, आपको अपनी एप्लिकेशन के `models.py` फाइल में एक पायथन क्लास को परिभाषित करना होगा। क्लास मॉडल का प्रतिनिधित्व करता है, और क्लास के एट्रिब्यूट डेटाबेस टेबल के कॉलम का प्रतिनिधित्व करते हैं।

उदाहरण के लिए, मान लीजिए कि हम एक `Book` मॉडल बनाना चाहते हैं जो डेटाबेस में पुस्तकों के बारे में जानकारी संग्रहीत करता है। `models.py` फाइल में, हम निम्नलिखित कोड जोड़ सकते हैं:

```python from django.db import models

class Book(models.Model):

   title = models.CharField(max_length=200)
   author = models.CharField(max_length=100)
   publication_date = models.DateField()
   price = models.DecimalField(max_digits=6, decimal_places=2)
   def __str__(self):
       return self.title

```

इस कोड में, हमने `Book` नामक एक क्लास बनाई है जो `models.Model` क्लास से इनहेरिट करती है। क्लास में चार एट्रिब्यूट हैं: `title`, `author`, `publication_date`, और `price`। प्रत्येक एट्रिब्यूट एक `models.Field` ऑब्जेक्ट है जो डेटाबेस टेबल के कॉलम को परिभाषित करता है। `__str__` विधि को मॉडल ऑब्जेक्ट के स्ट्रिंग प्रतिनिधित्व को परिभाषित करने के लिए परिभाषित किया गया है।

माइग्रेशन बनाना और लागू करना

मॉडल बनाने के बाद, आपको डेटाबेस में टेबल बनाने के लिए माइग्रेशन बनाना और लागू करना होगा। माइग्रेशन डjango ORM द्वारा उत्पन्न पायथन फाइलें हैं जो डेटाबेस स्कीमा में परिवर्तन का प्रतिनिधित्व करती हैं।

माइग्रेशन बनाने के लिए, आपको निम्नलिखित कमांड चलाना होगा:

```bash python manage.py makemigrations ```

यह कमांड आपके `models.py` फाइल में किए गए परिवर्तनों के आधार पर एक या अधिक माइग्रेशन फाइलें उत्पन्न करेगा।

माइग्रेशन लागू करने के लिए, आपको निम्नलिखित कमांड चलाना होगा:

```bash python manage.py migrate ```

यह कमांड डेटाबेस स्कीमा को अपडेट करने के लिए माइग्रेशन फाइलों में परिभाषित परिवर्तनों को लागू करेगा।

डेटाबेस को क्वेरी करना

डjango ORM का उपयोग करके डेटाबेस को क्वेरी करने के लिए, आप `QuerySet` ऑब्जेक्ट का उपयोग कर सकते हैं। `QuerySet` ऑब्जेक्ट डेटाबेस से डेटा प्राप्त करने के लिए उपयोग किए जाने वाले ऑब्जेक्ट हैं।

उदाहरण के लिए, डेटाबेस से सभी पुस्तकों को प्राप्त करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```python books = Book.objects.all() ```

यह कोड `Book.objects.all()` विधि को कॉल करके एक `QuerySet` ऑब्जेक्ट बनाता है। `all()` विधि डेटाबेस से सभी पुस्तकों को प्राप्त करने के लिए एक क्वेरी बनाती है।

आप `QuerySet` ऑब्जेक्ट पर विभिन्न प्रकार के तरीकों को कॉल करके डेटा को फ़िल्टर, ऑर्डर और स्लाइस कर सकते हैं।

उदाहरण के लिए, लेखक "Jane Austen" की सभी पुस्तकों को प्राप्त करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```python books = Book.objects.filter(author="Jane Austen") ```

यह कोड `filter()` विधि को कॉल करके एक `QuerySet` ऑब्जेक्ट बनाता है। `filter()` विधि डेटाबेस से केवल उन पुस्तकों को प्राप्त करने के लिए एक क्वेरी बनाती है जिनका लेखक "Jane Austen" है।

डेटा बनाना, अपडेट करना और हटाना

डjango ORM का उपयोग करके डेटाबेस में डेटा बनाने, अपडेट करने और हटाने के लिए, आप मॉडल ऑब्जेक्ट का उपयोग कर सकते हैं।

उदाहरण के लिए, डेटाबेस में एक नई पुस्तक बनाने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```python book = Book(title="Pride and Prejudice", author="Jane Austen", publication_date="1813-01-28", price=9.99) book.save() ```

यह कोड `Book` क्लास का एक नया उदाहरण बनाता है और डेटाबेस में एक नई पुस्तक बनाने के लिए `save()` विधि को कॉल करता है।

डेटाबेस में एक मौजूदा पुस्तक को अपडेट करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```python book = Book.objects.get(pk=1) book.price = 10.99 book.save() ```

यह कोड `get()` विधि को कॉल करके डेटाबेस से एक मौजूदा पुस्तक को प्राप्त करता है। `get()` विधि प्राथमिक कुंजी (pk) के आधार पर एक पुस्तक को प्राप्त करने के लिए एक क्वेरी बनाती है। फिर, यह पुस्तक के मूल्य को अपडेट करता है और डेटाबेस में परिवर्तनों को सहेजने के लिए `save()` विधि को कॉल करता है।

डेटाबेस से एक पुस्तक को हटाने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

```python book = Book.objects.get(pk=1) book.delete() ```

यह कोड `get()` विधि को कॉल करके डेटाबेस से एक मौजूदा पुस्तक को प्राप्त करता है। फिर, यह डेटाबेस से पुस्तक को हटाने के लिए `delete()` विधि को कॉल करता है।

संबंध (Relationships)

डjango ORM विभिन्न प्रकार के डेटाबेस तालिकाओं के बीच संबंधों को परिभाषित करने की अनुमति देता है। तीन मुख्य प्रकार के संबंध हैं:

  • वन-टू-वन (One-to-One): यह संबंध तब होता है जब एक टेबल की प्रत्येक पंक्ति दूसरी टेबल की केवल एक पंक्ति से संबंधित होती है। डjango वन-टू-वन संबंध
  • वन-टू-मैनी (One-to-Many): यह संबंध तब होता है जब एक टेबल की एक पंक्ति दूसरी टेबल की कई पंक्तियों से संबंधित होती है। डjango वन-टू-मैनी संबंध
  • मैनी-टू-मैनी (Many-to-Many): यह संबंध तब होता है जब एक टेबल की कई पंक्तियाँ दूसरी टेबल की कई पंक्तियों से संबंधित होती हैं। डjango मैनी-टू-मैनी संबंध

उदाहरण के लिए, मान लीजिए कि हमारे पास `Author` और `Book` नामक दो मॉडल हैं। एक लेखक के पास कई पुस्तकें हो सकती हैं, इसलिए `Author` और `Book` मॉडल के बीच एक वन-टू-मैनी संबंध है।

इस संबंध को परिभाषित करने के लिए, आप `Author` मॉडल में एक `ForeignKey` फील्ड जोड़ सकते हैं जो `Book` मॉडल को संदर्भित करता है।

```python from django.db import models

class Author(models.Model):

   name = models.CharField(max_length=100)
   def __str__(self):
       return self.name

class Book(models.Model):

   title = models.CharField(max_length=200)
   author = models.ForeignKey(Author, on_delete=models.CASCADE)
   def __str__(self):
       return self.title

```

इस कोड में, हमने `Book` मॉडल में `author` नामक एक `ForeignKey` फील्ड जोड़ा है। `ForeignKey` फील्ड `Author` मॉडल को संदर्भित करता है। `on_delete=models.CASCADE` तर्क निर्दिष्ट करता है कि यदि `Author` ऑब्जेक्ट को हटा दिया जाता है तो संबंधित `Book` ऑब्जेक्ट को भी हटा दिया जाना चाहिए।

उन्नत विषय

  • एग्रीगेशन (Aggregation): डjango ORM आपको डेटाबेस में डेटा को एग्रीगेट करने की अनुमति देता है, जैसे कि औसत, योग, और गिनती की गणना करना। डjango एग्रीगेशन
  • सबक्वेरी (Subqueries): डjango ORM आपको सबक्वेरी का उपयोग करने की अनुमति देता है, जो एक क्वेरी के अंदर एक अन्य क्वेरी हैं। डjango सबक्वेरी
  • कस्टम क्वेरीसेट (Custom QuerySets): आप अपनी विशिष्ट आवश्यकताओं को पूरा करने के लिए कस्टम क्वेरीसेट बना सकते हैं। डjango कस्टम क्वेरीसेट
  • raw SQL (Raw SQL): यदि आपको अधिक नियंत्रण की आवश्यकता है, तो आप सीधे SQL क्वेरी लिख सकते हैं। डjango रॉ SQL

निष्कर्ष

डjango ORM एक शक्तिशाली उपकरण है जो आपको पायथन कोड का उपयोग करके डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है। यह न केवल विकास को तेज करता है बल्कि आपके कोड को अधिक पठनीय और रखरखाव योग्य भी बनाता है। इस ट्यूटोरियल में, हमने डjango ORM की मूल बातें सीखी हैं और देखा है कि इसका उपयोग डेटाबेस को क्वेरी करने, बनाने, अपडेट करने और हटाने के लिए कैसे किया जाता है।

बाइनरी ऑप्शन के साथ संबंध (एक संक्षिप्त उल्लेख, विषय से दूर जाने से बचने के लिए)

डjango ORM का उपयोग करके एक वेब एप्लिकेशन बनाया जा सकता है जो बाइनरी ऑप्शन ट्रेडिंग प्लेटफॉर्म के लिए बैकएंड के रूप में काम करता है। डेटाबेस में उपयोगकर्ता खातों, ट्रेडों और अन्य प्रासंगिक जानकारी को संग्रहीत करने के लिए ORM का उपयोग किया जा सकता है। हालांकि, यह ध्यान रखना महत्वपूर्ण है कि बाइनरी ऑप्शन ट्रेडिंग वित्तीय जोखिमों से जुड़ा है, और कोई भी निवेश निर्णय लेने से पहले सावधानी बरतनी चाहिए। बाइनरी ऑप्शन जोखिम

संबंधित विषय


अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер