使用django restframework进行API设置:
class Video(models.Model):
title = models.CharField(max_length=250)
encoding_job = models.ForeignKey(EncodingJob, blank=True, null=True)
genres = models.ManyToManyField(Genre, blank=True, null=True)
router = DefaultRouter()
router.register(r'video', VideoViewSet)
class VideoViewSet(ModelViewSet):
serializer_class = VideoSerializer
queryset = Video.objects.all()
class VideoSerializer(ModelSerializer):
class Meta:
model = Video
工作正常,但我希望相关模型也被序列化,所以我添加了' depth = 1'或encoding_job =' EncodingJobSerializer()'到序列化器。
现在,当我在Browsable API上的视频对象列表中查看(GET请求)时,它在最后包含一个创建表单,它显示了' non_field_errors'低于FK / M2M字段输入。嵌套序列化工作正常。
有人可以解释我做错了什么吗?当它应该只显示一个空表格时,它似乎给了我表单验证错误。
Django 1.5.5
djangorestframework 2.3.13