zoukankan      html  css  js  c++  java
  • django的序列化

     请求接口的序列化有很多方式,下面只是将看到的方式进行归整,以便以后使用

    方法一:

      强制转换,因为django中的ORM查询出来的是queryset格式,在用HttpResponse传递时 无法被序列化,所以将其强制转换成列表,进行序列化

      list1 = list(Book.objects.all().values('name','price'))

      return HttpResponse(json.dumps(list1))

    方法二:

      用一个列表进行接收,然后进行序列化

      list1 = Book.objects.all()

      temp = []

      for book in list1:

        temp.append({

            'name':book.name,

            'price':book.price,

          })

      return HttpResponse(json.dumps(temp))

    方法三:

      因为列表接收的,如果Book中的字段非常多,我们需要将每一个字段都编写进去,非常麻烦,所以 有一个方法 叫做 model_to_dict方法,此方法会将model中的内容转换成字典的格式

      from django.forms.models import model_to_dict

      list1 = Book.objects.all()

      temp = []

      for book in list1:

        temp.append(model_to_dict)

      return HttpResponse(json.dumps(temp))

    方法四:

      使用django的序列化组件  serializers组件,这个组件中有serializer的方法,有两个参数,第一个是需要序列化的数据类型,第二个参数是需要序列化的变量

      from django.core import serializers

      serializers.serializer('json',list1)

    方法五:

      使用 django-restframework 进行序列化(这个在django中最常用,具体方法会在下一篇博客中记录)

  • 相关阅读:
    Graph neural networks: A review of methods and applications文献阅读
    IMBD数据集处理
    GNN知识整理(二)
    GNN认识整理(一)
    Linux中python中的#!/usr/bin/python
    Linux下运行g++
    itextpdf7自写算法的表格展示 制表符
    itext7 List序号 有序列表 解决中文不显示
    java使用itextpdf7实现导出pdf表格;java使用itextpdf7实现pdf加水印
    csv导出导入工具类 commons-csv导出
  • 原文地址:https://www.cnblogs.com/ifiwant/p/12572715.html
Copyright © 2011-2022 走看看