django使用restframework序列化查询集合(querryset)

第一:

pip install djangorestframework

第二:

在setting.py文件中的app添加名为:

 ‘rest_framework‘,

第三:再项目的APP下面新建名为(可以别的名字):serializers.py

第四:引入模型类到serializers.py,并在serializers.py中新建序列化类并定义要返回的字段

from rest_framework import serializers  #引入序列化的模块
from ceshi.models import ceshiList,recordList   #引入模型类

class ceshiListSer(serializers.ModelSerializer):
    detectionTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)   #用于重新设定时间的格式
    class Meta:
        model = ceshiList
        fields=("id","ceshiname","number","statusList","detectionTime ")
        # fields="__all__"   #可以像上面一样定义字段,也可以这样全部

class recordListSer(serializers.ModelSerializer):
    addTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
    class Meta:
        model = recordList
        fields = ("id", "ceshi2name", "addTime","ipList")
        # fields="__all__"

第五:在view.py中调用serializers.py中的类返回序列化的json

from ceshi.serializers import ceshiListSer,recordListSer
from ceshi.models import ceshiList,recordList
from django.http import JsonResponse

#就简单使用一个进行说明
def ceshifunc():
    ceshi = ceshiList.objects.all()  #获取模型类对象集合
    serializer = ceshiListSer(ceshi , many=True)   #many=True 可以返回多条,如果没有添加,只返回第一条
    return JsonResponse({"data": serializer.data})   #serializer.data是已经序列化的json数据  

第六:如果前端需要不同样式的JSON格式,就需要在serializers.py中,再定义一个序列化类

原文地址:https://www.cnblogs.com/weilaibuxiangshuo/p/11000197.html

时间: 2024-10-17 00:39:20

django使用restframework序列化查询集合(querryset)的相关文章

Django的restframework序列化多表字段的方法

首先,因为我们安装了restframework,所以我们需要在django的settings中引入restframework INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1.

Django REST框架 -序列化

建立一个新的环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv env source env/bin/activate 现在我们在一个virtualenv环境中,我们可以安装我们的包的要求. pip install django pip install djangorestframework pip install pygments # We'll be using this fo

第三章 restframework——序列化组件

第三章 restframework--序列化组件 一.django自带的序列化组件serializers 二.restframework的序列化组件Serializer 三.restframework的序列化组件ModelSerializer 四.restframework的序列化组件请求数据校验和保存功能(钩子) 五.restframework的序列化组件源码分析 一.django自带的序列化组件serializers from django.core import serializers d

django之rest-framework

django的rest-framework是django很贴心的为我们准备的一个实例化app https://www.django-rest-framework.org/ 安装这个app pip install djangorestframework 安装好之后需要我们在项目的setting里面注册这个app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes

Django REST framework序列化

Django REST framework序列化 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式 models部分 from django.db import models class Book(models.Model): title = models.CharField(max_length=32) price = models.IntegerField() pub_date = models.DateFie

django orm总结--解决查询结果不区分大小写问题

目录1.1.1 生成查询1.1.2 创建对象1.1.3 保存修改的对象1.1.4 保存 ForeignKey 和 ManyToManyField 字段1.1.5 检索对象1.1.6 检索所有的对象1.1.7 过滤检索特定对象1.1.8 链接过滤1.1.9 过滤结果集是唯一 1.2.1 结果集是延迟的 1.2.2 其他的QuerySet方法1.2.3 限制 QuerySets1.2.4 字段查找1.2.5 跨关系查询1.2.6 过滤器可参考模型字段1.2.7 缓存查询集1.2.8 比较对象1.2.

Python全栈开发【Django进阶之序列化】

Django序列化 序列化是将对象状态转换为可保持或传输的格式的过程 反序列化是指将存储在存储媒体中的对象状态装换成对象的过程 例如游戏都有存档的功能.再次开始的时候只需读档即可(这即是一个序列化与反序列的过程) 序列化也可以将一个对象传递到另一个地方的 关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. 1.serializers 用于序列化QuerySet中的对象 from django.core import serial

从头认识Spring-1.16 SpEl对集合的操作(2)-查询集合以及投影元素集合

这一章节我们来讨论一下查询集合以及投影元素集合. 我们下面用一个例子说明上面的这两个部分. 1.domain 蛋糕类:(不变) package com.raylee.my_new_spring.my_new_spring.ch01.topic_1_21; public class Cake { private String name = ""; private double size = 0; public String getName() { return name; } publi

MongoDB查询集合中的文档

MongoDB查询集合中的文档 参考资料:http://blog.csdn.net/qq_36040184/article/details/54355085 测试: 集合中插入数据 > db.chenji.insert({"name":"张三","年纪":"三年级","年龄":"14"}) WriteResult({ "nInserted" : 1 }) >