Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การสร้างสนามดองในโมเดลจังโก้


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)>]>