通过ORM从数据库获取到的 QuerySet 或 对象 均可以被序列化为 json 格式数据。
ORM表
# models.pyfrom django.db import modelsclass 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, null=True, blank=True)token = models.CharField(verbose_name="TOKEN", max_length=64, null=True, blank=True)depart = models.ForeignKey(verbose_name="部门", to="Department", on_delete=models.CASCADE, null=True, blank=True)roles = models.ManyToManyField(verbose_name="角色", to="Role")
序列化基本字段

# 切记, 如果从数据库获取的不是QuerySet对象,而是单一对象,例如:data_object = modes.UserInfo.objects.filter(id=2).first()ser = UserModelSerializer(instance=data_object,many=False)print(ser.data)
序列化自定义字段
序列化类的嵌套
默认显示关联表序列化类的所有字段,若要部分显示可指定关联表序列化类的fields
 
