Django Academy · पाठ

Serializers: मॉडल से JSON

ऑब्जेक्ट को JSON में और JSON से ऑब्जेक्ट में बदलें

पाठ 2, कुल 4 में से13 चरण

Serializers: मॉडल से JSON, CoddyKit पर Django Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Django Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Translator Layer

serializer DRF का translator है: यह आपके model instances को भेजने के लिए JSON में बदलता है और आने वाले JSON को वापस Python में parse करता है।

सिर्फ json.dumps क्यों नहीं?

Raw json.dumps model objects या validation को संभाल नहीं सकता। serializer fields, types और rules को समझता है, इसलिए कठिन काम आपके लिए कर देता है।

ModelSerializer से परिचय

शुरुआत का सबसे तेज तरीका ModelSerializer है: इसे किसी model से जोड़िए और यह ModelForm की तरह matching fields अपने-आप बना देगा।

from rest_framework import serializers

एक Declare करना

आप ModelSerializer से subclass बनाते हैं और एक inner Meta class में model तथा API में उपलब्ध कराने वाले fields के नाम लिखते हैं।

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = ['id', 'title']

Fields चुनना

Fields को स्पष्ट रूप से सूचीबद्ध कीजिए या सभी को शामिल करने के लिए fields = '__all__' का उपयोग कीजिए। स्पष्ट रूप से लिखना अधिक सुरक्षित है, क्योंकि इससे नए columns गलती से उजागर नहीं होते।

JSON में Serialize करना

Serializer को एक instance दीजिए और .data attribute पढ़िए। इससे plain JSON-friendly values वाली render करने योग्य Python dict मिलेगी।

ser = BookSerializer(book)
ser.data  # {'id': 1, 'title': 'Dune'}

एक साथ कई Objects

पूरे queryset को serialize करने के लिए many=True जोड़िए। DRF एक ही चरण में हर object के लिए एक dict वाली list लौटाएगा।

BookSerializer(books, many=True).data

Input को Deserialize करना

उलटी दिशा में जाने के लिए incoming JSON के साथ data= दीजिए, ताकि serializer client द्वारा भेजे गए data को parse और बाद में validate कर सके।

ser = BookSerializer(data=request.data)

इसे Validate करना

Input पर भरोसा करने से पहले is_valid() call कीजिए। यह हर field की जाँच चलाता है और validated_data भरता है, या लौटाए जा सकने वाले errors तैयार करता है।

ser.is_valid()
ser.errors

साफ़-सुथरे ढंग से Save करना

Valid होने पर save() model instance बनाता या update करता है। इस तरह serializer एक ही object में translation और persistence दोनों संभालता है।

ser.save()

Forms, लेकिन APIs के लिए

Serializer को form for APIs समझिए: यह data को बाहर render करता है, आने वाले data को validate करता है और उसे save करता है—वह भी बिना किसी HTML के।

त्वरित जाँच

Model serializer पर .data आपको क्या देता है?

पुनरावलोकन: Serializers

आपने सीखा कि ModelSerializer models को JSON में बदलता है, incoming data को validate करता है और उसे save करता है—यानी यह आपके API का bridge है। 🔁

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Serializers: मॉडल से JSON” पाठ निःशुल्क है?

हाँ — Django Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Serializers: मॉडल से JSON” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Serializers: मॉडल से JSON” में मैं क्या सीखूँगा?

ऑब्जेक्ट को JSON में और JSON से ऑब्जेक्ट में बदलें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Django Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Django Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Django Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“Serializers: मॉडल से JSON” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Django Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Django Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. DRF इंस्टॉल और कॉन्फ़िगर करना
  2. Serializers: मॉडल से JSON
  3. APIView और फ़ंक्शन @api_view
  4. ब्राउज़ करने योग्य API और स्थिति कोड
← Django Academy पर वापस जाएँ