Django model fields

From binaryoption
Revision as of 08:28, 29 April 2025 by Admin (talk | contribs) (@pipegas_WP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1
    1. Django मॉडल फ़ील्ड

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

मॉडल और फ़ील्ड का परिचय

Django में, एक मॉडल एक पायथन क्लास है जो एक डेटाबेस टेबल का प्रतिनिधित्व करता है। प्रत्येक मॉडल फ़ील्ड डेटाबेस टेबल में एक कॉलम का प्रतिनिधित्व करता है। फ़ील्ड डेटा के प्रकार को परिभाषित करते हैं जो कॉलम में संग्रहीत किया जा सकता है, साथ ही डेटा को कैसे मान्य किया जाता है और प्रस्तुत किया जाता है।

उदाहरण के लिए, यदि आप एक ब्लॉग एप्लिकेशन बना रहे हैं, तो आपके पास एक `Post` मॉडल हो सकता है जिसमें फ़ील्ड जैसे `title`, `content`, `pub_date` और `author` शामिल हैं। `title` एक टेक्स्ट फ़ील्ड होगा, `content` एक बड़ा टेक्स्ट फ़ील्ड होगा, `pub_date` एक तारीख और समय फ़ील्ड होगा, और `author` एक विदेशी कुंजी हो सकती है जो `User` मॉडल से जुड़ी होगी।

बुनियादी फ़ील्ड प्रकार

Django कई अंतर्निहित फ़ील्ड प्रकार प्रदान करता है। यहां कुछ सबसे आम फ़ील्ड प्रकार दिए गए हैं:

  • `CharField`: टेक्स्ट डेटा के लिए। आप `max_length` विशेषता का उपयोग करके फ़ील्ड में संग्रहीत किए जा सकने वाले वर्णों की अधिकतम संख्या निर्दिष्ट कर सकते हैं। उदाहरण: `title = models.CharField(max_length=200)`। स्ट्रिंग फॉर्मैटिंग का उपयोग करके डेटा को प्रदर्शित करने में मदद मिलती है।
  • `TextField`: लंबी टेक्स्ट डेटा के लिए। `CharField` के समान, लेकिन कोई `max_length` सीमा नहीं है। उदाहरण: `content = models.TextField()`।
  • `IntegerField`: पूर्णांक संख्याओं के लिए। उदाहरण: `age = models.IntegerField()`। संख्यात्मक विश्लेषण में पूर्णांक डेटा महत्वपूर्ण है।
  • `FloatField`: फ़्लोटिंग-पॉइंट संख्याओं के लिए। उदाहरण: `price = models.FloatField()`।
  • `BooleanField`: बूलियन मानों (सही या गलत) के लिए। उदाहरण: `is_active = models.BooleanField(default=False)`।
  • `DateField`: तारीखों के लिए। उदाहरण: `pub_date = models.DateField()`। टाइम सीरीज विश्लेषण में तारीखों का उपयोग महत्वपूर्ण है।
  • `DateTimeField`: तारीखों और समय के लिए। उदाहरण: `created_at = models.DateTimeField(auto_now_add=True)`।
  • `EmailField`: ईमेल पतों के लिए। यह `CharField` का एक उपवर्ग है जो ईमेल पतों को मान्य करता है। उदाहरण: `email = models.EmailField()`।
  • `URLField`: URL के लिए। यह `CharField` का एक उपवर्ग है जो URL को मान्य करता है। उदाहरण: `website = models.URLField()`।
  • `ImageField`: छवियों के लिए। यह फ़ील्ड `PIL` (पायथन इमेजिंग लाइब्रेरी) का उपयोग करके छवियों को संग्रहीत और संसाधित करता है। उदाहरण: `profile_picture = models.ImageField(upload_to='profile_images/')`।

फ़ील्ड विकल्प

प्रत्येक फ़ील्ड प्रकार कई विकल्प स्वीकार करता है जिनका उपयोग फ़ील्ड के व्यवहार को अनुकूलित करने के लिए किया जा सकता है। यहां कुछ सामान्य विकल्प दिए गए हैं:

  • `max_length`: `CharField` और `TextField` फ़ील्ड के लिए, यह फ़ील्ड में संग्रहीत किए जा सकने वाले वर्णों की अधिकतम संख्या निर्दिष्ट करता है।
  • `unique`: यदि `True` पर सेट है, तो यह सुनिश्चित करता है कि फ़ील्ड में संग्रहीत मान डेटाबेस में अद्वितीय है। उदाहरण: `username = models.CharField(max_length=50, unique=True)`।
  • `blank`: यदि `True` पर सेट है, तो फ़ील्ड खाली छोड़ा जा सकता है। उदाहरण: `middle_name = models.CharField(max_length=50, blank=True)`।
  • `null`: यदि `True` पर सेट है, तो फ़ील्ड में `NULL` मान संग्रहीत किया जा सकता है। उदाहरण: `bio = models.TextField(null=True)`।
  • `default`: फ़ील्ड के लिए एक डिफ़ॉल्ट मान निर्दिष्ट करता है। उदाहरण: `is_active = models.BooleanField(default=True)`।
  • `choices`: फ़ील्ड के लिए संभावित मानों की एक सूची निर्दिष्ट करता है। उदाहरण: `status = models.CharField(max_length=20, choices=[('draft', 'Draft'), ('published', 'Published')])`।
  • `verbose_name`: फ़ील्ड के लिए एक मानव-पठनीय नाम निर्दिष्ट करता है। उदाहरण: `first_name = models.CharField(max_length=50, verbose_name="First Name")`।
  • `help_text`: फ़ील्ड के लिए एक सहायता टेक्स्ट निर्दिष्ट करता है जो Django व्यवस्थापक इंटरफ़ेस में प्रदर्शित होता है। उदाहरण: `email = models.EmailField(help_text="Your email address")`।
  • `primary_key`: यदि `True` पर सेट है, तो यह फ़ील्ड को मॉडल के लिए प्राथमिक कुंजी के रूप में निर्दिष्ट करता है। उदाहरण: `id = models.AutoField(primary_key=True)`।
  • `auto_now_add`: `DateTimeField` फ़ील्ड के लिए, यह फ़ील्ड को पहली बार ऑब्जेक्ट बनाने पर वर्तमान तारीख और समय पर सेट करता है। उदाहरण: `created_at = models.DateTimeField(auto_now_add=True)`।
  • `auto_now`: `DateTimeField` फ़ील्ड के लिए, यह फ़ील्ड को हर बार ऑब्जेक्ट सहेजने पर वर्तमान तारीख और समय पर सेट करता है। उदाहरण: `updated_at = models.DateTimeField(auto_now=True)`।

विशेष फ़ील्ड प्रकार

Django कुछ विशेष फ़ील्ड प्रकार भी प्रदान करता है जो विशिष्ट उपयोग के मामलों के लिए उपयोगी होते हैं:

  • `AutoField`: एक स्वचालित रूप से बढ़ने वाला पूर्णांक फ़ील्ड। यह आमतौर पर प्राथमिक कुंजी के लिए उपयोग किया जाता है। उदाहरण: `id = models.AutoField(primary_key=True)`।
  • `BigAutoField`: एक बड़ा स्वचालित रूप से बढ़ने वाला पूर्णांक फ़ील्ड। `AutoField` के समान, लेकिन बड़ी संख्या को संग्रहीत करने में सक्षम।
  • `DecimalField`: दशमलव संख्याओं के लिए। यह फ़ील्ड वित्तीय अनुप्रयोगों के लिए उपयोगी है जहां सटीक दशमलव प्रतिनिधित्व की आवश्यकता होती है। उदाहरण: `amount = models.DecimalField(max_digits=10, decimal_places=2)`। वित्तीय मॉडलिंग में सटीकता महत्वपूर्ण है।
  • `ForeignKey`: एक अन्य मॉडल के लिए एक संबंध स्थापित करने के लिए। यह फ़ील्ड एक डेटाबेस में एक विदेशी कुंजी (Foreign Key) बनाता है। उदाहरण: `author = models.ForeignKey(User)`। संबंधपरक डेटाबेस में विदेशी कुंजियाँ महत्वपूर्ण होती हैं।
  • `ManyToManyField`: कई अन्य मॉडलों के लिए एक संबंध स्थापित करने के लिए। यह फ़ील्ड एक डेटाबेस में एक मध्यवर्ती टेबल बनाता है। उदाहरण: `tags = models.ManyToManyField(Tag)`।
  • `OneToOneField`: एक अन्य मॉडल के लिए एक एक-से-एक संबंध स्थापित करने के लिए। उदाहरण: `profile = models.OneToOneField(Profile)`।
  • `GenericForeignKey`: एक सामान्य विदेशी कुंजी के लिए। यह फ़ील्ड आपको किसी भी मॉडल के उदाहरण से लिंक करने की अनुमति देता है।
  • `JSONField`: JSON डेटा संग्रहीत करने के लिए। यह फ़ील्ड पायथन शब्दकोशों (dictionaries) को JSON डेटा के रूप में संग्रहीत करने की अनुमति देता है।

फ़ील्ड को अनुकूलित करना

आप अपनी आवश्यकताओं को पूरा करने के लिए फ़ील्ड को अनुकूलित कर सकते हैं। आप कस्टम सत्यापन तर्क जोड़ सकते हैं, डेटा को कैसे प्रदर्शित किया जाता है इसे बदल सकते हैं, और फ़ील्ड के व्यवहार को अन्य तरीकों से संशोधित कर सकते हैं।

कस्टम सत्यापन तर्क जोड़ने के लिए, आप फ़ील्ड क्लास में `clean()` विधि को ओवरराइड कर सकते हैं। डेटा को कैसे प्रदर्शित किया जाता है इसे बदलने के लिए, आप फ़ील्ड क्लास में `formfield()` विधि को ओवरराइड कर सकते हैं।

Django में फ़ील्ड का उपयोग करने के उदाहरण

यहां एक उदाहरण दिया गया है कि Django मॉडल में फ़ील्ड का उपयोग कैसे किया जाता है:

```python from django.db import models

class Post(models.Model):

   title = models.CharField(max_length=200)
   content = models.TextField()
   pub_date = models.DateTimeField()
   author = models.ForeignKey('auth.User')
   def __str__(self):
       return self.title

```

इस उदाहरण में, हमने एक `Post` मॉडल बनाया है जिसमें चार फ़ील्ड हैं: `title`, `content`, `pub_date` और `author`। `title` एक `CharField` है जिसमें अधिकतम 200 वर्ण हो सकते हैं। `content` एक `TextField` है जो लंबी टेक्स्ट डेटा संग्रहीत कर सकता है। `pub_date` एक `DateTimeField` है जो प्रकाशन की तारीख और समय संग्रहीत करता है। `author` एक `ForeignKey` है जो `auth.User` मॉडल से जुड़ा है।

फ़ील्ड और डेटाबेस इंडेक्स

डेटाबेस इंडेक्स का उपयोग डेटाबेस क्वेरी को तेज करने के लिए किया जा सकता है। आप अपने Django मॉडल में फ़ील्ड पर इंडेक्स बना सकते हैं। इंडेक्स बनाने के लिए, `db_index` विकल्प को `True` पर सेट करें। उदाहरण: `username = models.CharField(max_length=50, unique=True, db_index=True)`। डेटाबेस ऑप्टिमाइजेशन में इंडेक्स महत्वपूर्ण हैं।

फ़ील्ड और डेटाबेस संबंध

Django मॉडल फ़ील्ड डेटाबेस टेबल के बीच संबंध बनाने के लिए उपयोग किए जाते हैं। `ForeignKey`, `ManyToManyField` और `OneToOneField` फ़ील्ड का उपयोग डेटाबेस टेबल के बीच संबंध स्थापित करने के लिए किया जाता है। ये संबंध डेटाबेस इंटीग्रिटी बनाए रखने और डेटा को कुशलतापूर्वक क्वेरी करने में मदद करते हैं। रिलेशनल डेटाबेस डिजाइन में संबंध महत्वपूर्ण हैं।

निष्कर्ष

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

मॉडल मेटा विकल्प, फ़ील्ड लुकअप, फ़ील्ड वैलिडेशन, फ़ील्ड संबंध, फ़ील्ड क्वेरी, Django ORM, Django माइग्रेशन, Django फॉर्म, Django व्यू, Django टेम्प्लेट, Django यूआरएल, Django एडमिन, Django टेस्टिंग, Django सिक्योरिटी, Django परफॉरमेंस, Django डिप्लॉयमेंट

तकनीकी विश्लेषण, वॉल्यूम विश्लेषण, जोखिम प्रबंधन, पोर्टफोलियो अनुकूलन, बाइनरी ऑप्शन रणनीतियाँ, कॉल ऑप्शन, पुट ऑप्शन, मनी मैनेजमेंट, ट्रेडिंग मनोविज्ञान, मार्केट सेंटीमेंट, इकोनॉमिक इंडिकेटर, फंडामेंटल एनालिसिस, चार्ट पैटर्न, कैंडलस्टिक पैटर्न

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

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

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

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

Баннер