我有以下型号:
class Parent(models.Model):
name = models.CharField()
class Child(models.Model):
name = models.CharField()
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
使用序列化程序:
class ChildSerializer(serializers.ModelSerializer):
class Meta:
model = Child
fields = ('id', 'name', 'parent',)
read_only_fields = ('id',)
和ModelViewSet:
class ChildViewSet(viewsets.ModelViewSet):
serializer_class = ChildSerializer
permission_classes = (IsAuthenticated,)
queryset = Child.objects.all()
paginator = None
如果查询api,会得到一个json结构,如下所示:
{
"id": 1,
"name": "Child Name",
"parent": 3
}
这正是我想要的。但是,如果我尝试将相同的数据放回,则会出现错误:
ValueError: Cannot assign "3": "Child.parent" must be a "Parent" instance.
我怎样才能提交这样的工作?我应该能够提交我的数据,以同样的方式,我从API收到它
您可以使用
PrimaryKeyRelatedField
:DRF文件示例:
您的代码很可能是:
相关问题 更多 >
编程相关推荐