यदि आप प्रोग्रामर के लिए सर्वोत्तम अनाज के बारे में जानना चाहते हैं, जिसमें कोको पेबल्स मौजूदा चैंपियन है?, तो आप सही ब्लॉग पोस्ट में हैं। मज़ाक कर रहा हूँ! आज हम कुछ और भी बेहतर चीज़ में गोता लगाने जा रहे हैं: Django सीरियलाइज़र ?️ वे आपके डेटा प्रबंधन को आपके पसंदीदा अनाज की तुलना में अधिक आसान बना देंगे! इस पर ज़ोर देने के लिए तैयार हैं? चल दर! ?
यदि आप Django के विकास में गोता लगा रहे हैं, तो संभवत: आपका सामना सीरियलाइज़र से हुआ होगा। पहली नज़र में, वे एक जटिल और डराने वाली अवधारणा की तरह लग सकते हैं, खासकर जब आप दस्तावेज़ों की छानबीन कर रहे हों या ट्यूटोरियल वीडियो देख रहे हों। लेकिन चिंता न करें - वास्तव में, Django सीरिएलाइज़र जितने दिखते हैं उससे कहीं अधिक सरल हैं। आइए इसे तोड़ें और Django REST ढांचे के इस आवश्यक घटक को उजागर करें।
उनके मूल में, Django सीरिएलाइज़र ऐसे उपकरण हैं जो Django मॉडल जैसे जटिल डेटा प्रकारों को पायथन डेटा प्रकारों में परिवर्तित करते हैं जिन्हें आसानी से JSON, XML, या अन्य सामग्री प्रकारों में प्रस्तुत किया जा सकता है। वे विपरीत दिशा में भी काम करते हैं, JSON जैसे प्रारूपों से आने वाले डेटा को वापस Django ऑब्जेक्ट में परिवर्तित करते हैं।
सीधे शब्दों में कहें तो, सीरिएलाइज़र Django मॉडल और आपके फ्रंटएंड (या किसी अन्य उपभोक्ता) द्वारा अपेक्षित डेटा के बीच अंतर को पाटते हैं।
आइए एक बुनियादी Django मॉडल से शुरुआत करें जो लाइब्रेरी में एक किताब का प्रतिनिधित्व करता है:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField() isbn = models.CharField(max_length=13)
यह मॉडल सीधा है - इसमें पुस्तक के शीर्षक, लेखक, प्रकाशित तिथि और आईएसबीएन के लिए फ़ील्ड हैं। अब, आइए इस मॉडल के लिए एक सीरिएलाइज़र बनाएं।
इस मॉडल को JSON (या किसी अन्य प्रारूप) में बदलने के लिए, हम Django सीरिएलाइज़र का उपयोग करते हैं। ऐसा करने का एक आसान तरीका सीरियलाइज़र.मॉडलसेरियलाइज़र का उपयोग करना है:
from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['title', 'author', 'published_date', 'isbn']
यहां, BookSerializer को सीरियलाइज़र्स.मॉडलसेरियलाइज़र से विरासत में मिला है, जो स्वचालित रूप से बुक मॉडल के लिए एक सीरियलाइज़र बनाता है। मेटा क्लास Django को बताता है कि किस मॉडल को क्रमबद्ध करना है और कौन से फ़ील्ड को शामिल करना है।
यदि आपको अधिक नियंत्रण की आवश्यकता हो तो क्या होगा? उदाहरण के लिए, यदि आप आईएसबीएन को सत्यापित करना चाहते हैं या कस्टम फ़ील्ड जोड़ना चाहते हैं, तो आप इसके बजाय सीरियलाइज़र.सेरियलाइज़र का उपयोग कर सकते हैं। ऐसे:
class CustomBookSerializer(serializers.Serializer): title = serializers.CharField(max_length=100) author = serializers.CharField(max_length=100) published_date = serializers.DateField() isbn = serializers.CharField(max_length=13) def validate_isbn(self, value): if len(value) != 13: raise serializers.ValidationError("ISBN must be 13 characters long") return value
इस उदाहरण में, CustomBookSerializer आपको प्रत्येक फ़ील्ड पर पूर्ण नियंत्रण देता है और इसे कैसे प्रबंधित किया जाता है। आप कस्टम सत्यापन जोड़ सकते हैं, जैसे यह सुनिश्चित करना कि आईएसबीएन बिल्कुल 13 अक्षर लंबा है।
Django सीरिएलाइज़र पहली बार में जटिल लग सकते हैं, लेकिन सही दृष्टिकोण के साथ, वे आपके अनुप्रयोगों में डेटा को संभालने के लिए एक अविश्वसनीय रूप से शक्तिशाली उपकरण हो सकते हैं। चाहे आप त्वरित और आसान क्रमबद्धता के लिए सीरियलाइज़र.मॉडलसेरियलाइज़र के साथ काम कर रहे हों या अधिक नियंत्रण के लिए सीरियलाइज़र.सेरियलाइज़र के साथ काम कर रहे हों, Django REST फ्रेमवर्क ने आपको कवर कर लिया है। इन उपकरणों के साथ प्रयोग करते रहें, और आप जल्द ही पाएंगे कि वे आपके Django विकास को आसान और अधिक कुशल बनाते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3