Pickle ใน Python ใช้เป็นหลักในการทำให้เป็นอันดับและดีซีเรียลไลซ์โครงสร้าง Pythonobject กล่าวคือ เป็นกระบวนการแปลงอ็อบเจ็กต์ Python เป็นสตรีมไบต์เพื่อเก็บไว้ในไฟล์/ฐานข้อมูล รักษาสถานะของโปรแกรมข้ามเซสชัน หรือส่งข้อมูลผ่านเครือข่าย
ในบทความนี้ เราจะมาดูวิธีการสร้างฟิลด์ Django ที่จะบันทึกวัตถุของดอง เราจะทำงานกับ models.py . เท่านั้น และ Django เชลล์
ก่อนอื่น ติดตั้ง django-picklefield แพ็คเกจ −
pip install django-picklefield
ตัวอย่าง
ใน models.py −
from django.db import models from picklefield.fields import PickledObjectField # Create your models here. class new_model(models.Model): args = PickledObjectField()
ที่นี่ เราสร้างโมเดลและเพิ่ม ผักดอง สนาม
ตอนนี้ขอตรวจสอบว่าใช้งานได้หรือไม่ บนเทอร์มินัลให้เรียกใช้ "pythonmanage.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]:<QuerySet [<new_model: new_model object (1)>]>