djangorestframwork 简单使用

这篇博客介绍了如何在Django中使用REST框架。首先,通过`pip install djangorestframework`安装库,然后在settings文件中配置INSTALLED_APPS。接着,定义了两个模型ClassInfo和Student,并创建了它们之间的外键关系。随后,利用REST框架的ModelSerializer快速创建了对应的序列化类。最后,展示了如何创建和使用数据,包括序列化和反序列化操作。
安装

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值