安装
pip install djangorestframework
django中使用需做:
#在 setting 文件中的 INSTALLED_APPS 中添加 rest_framework
demo中需要使用的模型
from django.db import models
class ClassInfo(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=20)
class Meta:
db_table = 'class_info'
class Student(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=20)
age = models.IntegerField()
class_info = models.ForeignKey(ClassInfo,on_delete=models.CASCADE)
class Meta:
db_table = 'student'
创建模型对应的 serializer 类
from rest_framework import serializers
from .models import Student,ClassInfo
#快捷创建
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
class ClassSerializer(serializers.ModelSerializer):
class Meta:
model = ClassInfo
创建实验数据
def create_data():
class1 = ClassInfo.objects.create(name='14级1班')
class2 = ClassInfo.objects.create(name='14级2班')
Student.objects.create(name='小明',age='14',class_info=class1)
Student.objects.create(name='小红',age='15',class_info=class1)
Student.objects.create(name='小蓝',age='13',class_info=class2)
Student.objects.create(name='小白',age='16',class_info=class2)
Student.objects.create(name='小亮',age='17',class_info=class2)
简单使用
from .serializer import StudentSerializer,ClassSerializer
#序列化&反序列化测试
def serializer_test():
students = Student.objects.all()
#创建序列化器对象,序列化单个对象
serializer = StudentSerializer(instance=students.first())
#获取序列化好的数据
data = serializer.data
#创建序列化器对象,序列化多个对象
serializer = StudentSerializer(instance=students,many=True)
data = serializer.data
#创建序列化器对象
data = {'name':'王哈哈','age':16}
serializer = StudentSerializer(data=data)
#校验,校验失败将异常
serializer.is_valid(raise_exception=True)
这篇博客介绍了如何在Django中使用REST框架。首先,通过`pip install djangorestframework`安装库,然后在settings文件中配置INSTALLED_APPS。接着,定义了两个模型ClassInfo和Student,并创建了它们之间的外键关系。随后,利用REST框架的ModelSerializer快速创建了对应的序列化类。最后,展示了如何创建和使用数据,包括序列化和反序列化操作。
366

被折叠的 条评论
为什么被折叠?



