DRF:CreateAPIView-唯一约束失败

时间:2020-10-21 10:22:36

标签: django-rest-framework django-serializer

我将Django Rest Framework与React一起使用在前面。 我要发布链接到ForeignKey用户的Note。

模型。注意

class Note(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    content = models.TextField(blank=True, default='')

序列化器。NoteSerializer

class NoteSerializer(serializers.ModelSerializer):
    user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())

    class Meta:
        model = Note
        fields = ('user', 'content')

发布{user: 1, content: "test"}时,出现以下错误消息:

UNIQUE constraint failed: app_note.user_id

如何将新的Note链接到现有用户并发布user.id?

我认为我当前的代码正在尝试创建新的用户实例...

1 个答案:

答案 0 :(得分:1)

您正在Note模型中使用OneToOneField。这意味着用户只能有一个音符。 而是使用ForeignKey为单个用户提供许多注释。