पायथन में पिकल का उपयोग मुख्य रूप से पायथन ऑब्जेक्ट स्ट्रक्चर को सीरियलाइज़ और डीसीरियलाइज़ करने के लिए किया जाता है। दूसरे शब्दों में, यह एक पायथन ऑब्जेक्ट को बाइट स्ट्रीम में बदलने की प्रक्रिया है ताकि इसे फाइल/डेटाबेस में स्टोर किया जा सके, सेशन के दौरान प्रोग्राम स्टेट बनाए रखा जा सके, या नेटवर्क पर डेटा ट्रांसपोर्ट किया जा सके।
इस लेख में, हम देखेंगे कि एक Django फील्ड कैसे बनाया जाए जो पिकल ऑब्जेक्ट्स को सेव करे। हम केवल models.py और Django शेल के साथ काम करेंगे।
सबसे पहले, django-picklefield पैकेज इंस्टॉल करें:
pip install django-picklefield
उदाहरण
models.py में:
from django.db import models
from picklefield.fields import PickledObjectField
class new_model(models.Model):
args = PickledObjectField()
यहां, हमने एक मॉडल बनाया और पिकल फील्ड जोड़ा।
अब जांचते हैं कि यह काम करता है या नहीं। टर्मिनल पर "python manage.py shell" चलाएं और निम्नलिखित टाइप करें:
from myapp.models import *
obj = new_model(args=['fancy', {'objects': 'inside'}]).save()
new_model.objects.all()
हम शेल चलाते हैं और एक नया मॉडल इंस्टेंस बनाते हैं जो पिकल ऑब्जेक्ट्स स्टोर कर सकता है। इसमें स्टोर किया गया कोई भी ऑब्जेक्ट पिकल ऑब्जेक्ट में परिवर्तित हो जाएगा।
मॉडल्स में सेव करने के लिए, आप इस तरह लिख सकते हैं:
from django.http import HttpResponse
def my_view(request):
Object = new_model(args=['fancy', {'name': 'ath'}])
Object.save()
return HttpResponse("Object saved")
आप इस फील्ड में कोई भी पिकल ऑब्जेक्ट या ऐसी कोई भी चीज़ जोड़ सकते हैं जिसे पिकल किया जा सके।
आउटपुट
In [4]: new_model.objects.all() Out[4]:]>