我是新的DRF序列化,我面临的小问题在这里。。。你知道吗
你知道吗型号.py你知道吗
class roles(models.Model):
role = models.IntegerField(primary_key = True)
type = models.CharField(max_length = 20)
one = models.CharField(max_length = 20)
class Meta:
db_table = 'roles'
class employees(models.Model):
name = models.CharField(max_length=25)
mobileno = models.IntegerField()
roletype = models.ForeignKey(roles,related_name='emps')
class Meta:
db_table = 'employees'
你知道吗序列化程序.py你知道吗
class rSerializer(serializers.ModelSerializer):
class Meta:
model = roles
fields = ('type','one')
class eSerializer(serializers.ModelSerializer):
class Meta:
model = employees
fields = ('name','mobileno')
你知道吗视图.py你知道吗
@csrf_exempt
@api_view(['GET'])
def accesstwo(request):
if request.method == 'GET':
#emp = employees.objects.all()
#serializer = eSerializer(emp, many=True)
#return JSONResponse({"resource":serializer.data})
emp = employees.objects.get(id = 1)
serializer = eSerializer(emp, many=False)
return JSONResponse(serializer.data)
如果我运行上面的代码,我得到的结果如下。你知道吗
{
"name": "emp01",
"mobileno": 23434
},
但是在这里,我想使用下面的序列化程序从两个表中获取数据。你知道吗
{
"name": "emp01",
"mobileno": 23434,
"type":"manager",
"one":"test"
}
如何在python DRF服务中做到这一点?。你知道吗
必须在
eSerializer()
中传递rSerializer()
。请检查以下更新的代码:相关问题 更多 >
编程相关推荐