Python全系列 教程
3567个小节阅读:5930.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
当前WEB API应用中,前端要用到从后台返回的数据来渲染页面的时候,一般都是使用的json类型的数据,因为json类型简单直观便于理解,那么就需要在django框架中,将模型类数据序列化为json
xxxxxxxxxx
class Student(models.Model):
SEX_CHOICES = ((1,'男'), (2, '女'))
name = models.CharField(max_length=20,verbose_name='姓名')
age = models.IntegerField(null=True,blank=True, verbose_name='年龄')
sex = models.IntegerField(choices=SEX_CHOICES, default=1, verbose_name='性别')
class Meta:
db_table='t_student'
在迁移之前,需要正确配置settings当中的数据库信息
数据库配置
xxxxxxxxxx
DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
'NAME': 'django_rest',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123',
}
}
迁移模型
xxxxxxxxxx
python manage.py makemigrations
python manage.py migrate
在子应用的目录下,新建app_serializers.py 文件,在其中建立一个对应第一步建立的模型的序列化类:
xxxxxxxxxx
from rest_framework import serializers
from rest_app.models import *
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
fields = ['id', 'name', 'age','sex']
说明:
继承自serializers.ModelSerializer类
必须实现class Meta
'__all__'
则使用所有模型的字段,也可以使用 exclude 指明要排除的字段,例如:exclude = ['id'] , 通常使用 fields继承自ModelSerializer类,其实是一种快捷的方式,也可以直接继承serializers.Serializer,手动写字段集以及 create、update方法。ModelSerializer有一个 repr 属性来查看字段集是如何编写的
打开django脚本控制台,测试执行模型的方法
xxxxxxxxxx
python manage.py shell
测试
xxxxxxxxxx
from rest_app.app_serializers import StudentSerializer
stu_serializer = StudentSerializer()
print(repr(stu_serializer))
测试数据
xxxxxxxxxx
insert into t_student (name,age,sex) values ('Python',18,1);
insert into t_student (name,age,sex) values ('Django',20,1);
insert into t_student (name,age,sex) values ('测试',22,2);
实时学习反馈
1. 打开django脚本控制台的命令是( )
A python manage.py runserver
B python manage.py shell
C python manage.py migrate
D python manage.py makemigrations
答案
1=>A