在 Django 模型中制作 Pickle 字段
Python 中的 Pickle 主要用于对 Python 对象结构进行序列化和反序列化。换句话说,它是将 Python 对象转换为字节流的过程,以便将其存储在文件/数据库中、跨会话维护程序状态或通过网络传输数据
在本文中,我们将学习如何创建一个保存 Pickle 对象的 Django 字段。我们只使用models.py 和 Django shell
首先,安装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()
在此,我们创建了一个模型并添加了pickle字段。
现在让我们检查一下它是否有效。在终端上运行 “python manage.py shell” 并键入以下内容 -
from myapp.models import * obj=new_model(args=['fancy', {'objects': 'inside'}]).save() new_model.objects.all()
我们运行 shell 并创建一个可以存储 Pickle 对象的新模型实例。存储在其中的任何对象都将被转换为pickle对象。
要在模型中保存,可以这样写 -
from django.http import HttpResponse def my_view(request): Object=new_model(args=['fancy',{'name': 'ath'}]) Object.save() return HttpResponse("Object saved")
您可以添加任何pickle对象或任何可以保存在此字段中的内容。
输出
In [4]: new_model.objects.all() Out[4]:<QuerySet [<new_model: new_model object (1)>]>
广告