建表 models.py
# 角色表
class Roles(BaseModel):
name = models.CharField(max_length=50,null=False,unique=True)
pid = models.IntegerField(default=0) #能被继承 0 不能被继承 1
types = models.IntegerField(default=1) # 1普通角色 2被继承的角色
class Meta:
db_table = "roles"
# 用户表
class AdminUser(BaseModel):
name = models.CharField(max_length=50, null=False)
mobile = models.CharField(max_length=11)
roleid = models.ForeignKey(Roles, on_delete=models.CASCADE)
class Meta:
db_table = "admin_user"
序列化器 sers.py
class RoleSer(serializers.ModelSerializer):
class Meta:
model = Roles
fields = '__all__'
class AdminUserSer(serializers.ModelSerializer):
roleid=RoleSer()
class Meta:
model = AdminUser
fields = '__all__'
注:角色表要在用户表之上才可以进行嵌套
嵌套后查询 views.py
class Show_AdminUser(APIView):
# 用户展示
def get(self,request):
detail = AdminUser.objects.all()
detailser = AdminUserSer(detail, many=True)
return Response(detailser.data)
返回结果:
就可以拿到用户表中没有的角色名称进行渲染了