django-插件django REST framework,返回序列化的数据

时间:2023-03-09 22:25:01
django-插件django REST framework,返回序列化的数据

官网: http://www.django-rest-framework.org

1.安装

pip install djangorestframework

2.在setting.py中注册app 中添加 'rest_framework'

序列化功能,官网中

django-插件django REST framework,返回序列化的数据

使用的案例部分代码,直观的显示使用方法:

第一步:调用rest_framework进行序列化

# -*- coding: utf-8 -*-
from rest_framework import serializers from .models import User, News, NewCategory # 指定author序列化字段,为了News序列化
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('telephone', 'username', 'is_active', 'gender', 'email', 'data_joined') # 指定category序列化字段,为了New序列化
class NewsCategorySerializers(serializers.ModelSerializer):
class Meta:
model = NewsCategory
fields = ('id', 'name') class NewsSerializers(serializers.ModelSerializer):
category = NewsCategorySerializers() # 指定外键字段序列化
author = UserSerializer() class Meta:
model = News
# 这里的category和author是News中的外键字段需要额外指定序列化字段
fields = ('id', 'title', 'desc', 'thumbnail', 'pubtime', 'category', 'author')

第二步:调用获取数据

import NewsSerializer

newses = News.objects.all()  # 注意这儿不要改动QuerySet类型,比如别使用value

serializer = NewsSerializers(newses, many=True) # many代表外键字段取多个字段

newses = serializer.data # 获取serializer的json数据