drf中为我们提供了Serializer,他主要有两大功能:
- 对请求数据校验(底层调用Django的Form和ModelForm)
对数据库查询到的对象进行序列化
[x]
fields校验的字段。-
extra_kwargs用于对基本字段加额外约束。 -
validator和validate_两种校验字段的方式。基于Serializer
Serializer的使用不需要依赖于模型,所以可以不要编写model,直接编写serializer文件。
基于ModelSerializer
字段可保存到数据库 ```pythonmodels.py
from django.db import models
class Role(models.Model): “”” 角色表 “”” title = models.CharField(verbose_name=”名称”, max_length=32)
class Department(models.Model): “”” 部门表 “”” title = models.CharField(verbose_name=”名称”, max_length=32)
class UserInfo(models.Model): “”” 用户表 “”” level_choices = ((1, “普通会员”), (2, “VIP”), (3, “SVIP”),) level = models.IntegerField(verbose_name=”级别”, choices=level_choices, default=1)
username = models.CharField(verbose_name="用户名", max_length=32)password = models.CharField(verbose_name="密码", max_length=64)age = models.IntegerField(verbose_name="年龄", default=0)email = models.CharField(verbose_name="邮箱", max_length=64)token = models.CharField(verbose_name="TOKEN", max_length=64, null=True, blank=True)# 外键depart = models.ForeignKey(verbose_name="部门", to="Department", on_delete=models.CASCADE)# 多对多roles = models.ManyToManyField(verbose_name="角色", to="Role")
```

含外键
