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

更新于: 26-Aug-2021

1000+ 次浏览

职业加速指南

通过完成课程获取认证

开始入门
广告