在Django Rest Framework中尝试通过APIVIew发布详细信息时,未填充OnetoOneRelatedField模型详细信息

时间:2020-10-21 14:12:22

标签: python django django-rest-framework

models.py

class Address(models.Model):
    name=models.CharField(max_length=100,default='')
    place=models.CharField(max_length=100,default='')



class wish(models.Model):
      created=models.DateField(auto_now_add=True)
      title=models.CharField(default='',null=True,blank=True,max_length=100)
      wishtext=models.CharField(max_length=1000)
      address=models.OneToOneField(Address,null=True,on_delete=models.CASCADE,)

serializers.py文件。

      class WishSerializer(serializers.ModelSerializer):
          class Meta:
            model = wish
            fields = ['id','title','wishtext','address']
            depth=1

views.py

         class WishList(generics.ListCreateAPIView):
         #permission_classes = [permissions.IsAuthenticated]
         queryset=wish.objects.all()
         serializer_class = WishSerializer

注意:

am能够获取所有详细信息,包括地址模型详细信息。 但是,当我尝试发布详细信息时,只能看到愿望模型字段,而不能看到地址对象下拉字段。 请帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以通过在create中覆盖ModelSerializer方法来产生这种行为 并将您的创建逻辑放在这里。

DRF Documentation可写嵌套序列化程序”部分中确实提到过。,那里有一个很好的例子。