在 Django 模型中创建 Pickle 字段

Python 中的 Pickle 主要用于序列化和反序列化 Python 对象结构。换句话说,它是将 Python 对象转换为字节流以将其存储在文件/数据库中、跨会话维护程序状态或通过网络传输数据的过程

在本文中,我们将看到如何创建一个 Django 字段来保存泡菜对象。我们只会使用models.py和 Django shell

首先,安装django-picklefield包 -

pip install django-picklefield

示例

在models.py -

fromdjango.dbimport models

frompicklefield.fieldsimport PickledObjectField

# Create your models here.

class new_model(models.Model):

   args = PickledObjectField()

在这里,我们创建了一个模型并添加了泡菜字段。

现在让我们检查它是否有效。在终端上运行“python manage.py shell”并输入以下内容 -

frommyapp.modelsimport *

obj=new_model(args=['fancy', {'objects': 'inside'}]).save()

new_model.objects.all()

我们运行 shell 并创建一个可以存储泡菜对象的新模型实例。存储在其中的任何对象都将转换为pickle对象。

要保存模型,您可以这样写 -

fromdjango.httpimport HttpResponse

def my_view(request):

   Object=new_model(args=['fancy',{'name': 'ath'}])

   Object.save()

   return HttpResponse("Object saved")

您可以在此字段中添加任何pickle对象或任何可以pickle 的对象。

输出结果

In [4]: new_model.objects.all()

Out[4]:<QuerySet [<new_model: new_model object (1)>]>

以上是 在 Django 模型中创建 Pickle 字段 的全部内容, 来源链接: utcz.com/z/338723.html

回到顶部