【发布时间】:2016-08-21 22:06:09
【问题描述】:
型号
类 makitVerifications (models.Model):
Matter_fk = models.ForeignKey(Matter,on_delete=models.CASCADE , related_name = "makit_validate")
user_fk = models.ForeignKey('auth.User',on_delete=models.CASCADE , related_name = 'verification_by' , )
序列化器
类 UserVerifyCountSerializer (serializers.ModelSerializer):
# Tried makit_validate = makitSerializer (read_only = True)
class Meta :
model = makitVerifications
fields = ( 'user_fk', 'makit_validate', 'Matter_fk')
UserVerifyCountSerializer._declared_fields['makit_validate']= makitSerializer (read_only = True)
查看
类 UserVerfiyCountViewSet(generics.ListCreateAPIView):
serializer_class = UserVerifyCountSerializer
def get_queryset(self):
queryset = makitVerifications.objects.all()
return queryset
JSON
{ “计数”:2, “下一个”:空, “上一个”:空, “结果”: [ { “user_fk”:1, “物质_fk”:1 }, { “user_fk”:1, “物质_fk”:1 } ]
JSON 中缺少预期为嵌套对象的字段“makit_validate”。如何在 json 中获取相关模型的嵌套对象。
我还尝试了文档中的一个示例,但 JSON 中缺少相同的字段
还有如何从嵌套在上述序列化程序类中的对象中省略/禁用字段
Makie Serilazer
类 makitSerializer(serializers.ModelSerializer):
kamaz = kamazSerializer(many=True,read_only=True)
facilities = FacilitiesSerializer (many =True,read_only=True)
class Meta :
model = Makit
fields = '__all__'
## Makit Model ##
class Makit (models.Model):
pincode = models.IntegerField()
area = models.CharField(max_length=200)
street = models.CharField(max_length=200)
landmark = models.CharField(max_length=100,blank=True , null = True)
contact_no= models.BigIntegerField()
【问题讨论】:
-
请添加关于makitSerializer的代码
-
@Aison 也添加了 makitSerializer 和模型
标签: django serialization django-models django-rest-framework django-serializer