DRF内置的序列化类,可以对整个模型类进行序列化与反序列化,简化了繁杂的工作。
内置字段序列化
模型类
from django.db import models
# Create your models here.
class Authors(models.Model):
name = models.CharField(max_length=10, verbose_name='姓名')
def __str__(self):
return self.name
class Meta:
db_table = 'db_authors'
verbose_name = '作者'
verbose_name_plural = '作者'
class Books(models.Model):
title = models.CharField(max_length=10, verbose_name='标题')
price = models.DecimalField(max_digits=7, decimal_places=2, verbose_name='单价')
publish = models.CharField(max_length=20, verbose_name='出版社')
author = models.ForeignKey(Authors, on_delete=models.CASCADE)
def __str__(self):
return self.title
class Meta:
db_table = 'db_books'
verbose_name = '图书'
verbose_name_plural = '图书'
序列化类
字段默认方式序列化
全部字段都采用
ModelSerializer
的默认方式实现序列化与反序列化,外键对应的序列化值是外键id
from rest_framework.serializers import ModelSerializer
from .models import Books, Authors
class Aut