Поле "id" данных сериализатора возвращает null DRF

Я столкнулся с проблемой сериализатора, который я сделал для определенной модели.

Это модель:

# Create your models here.
class UserInfo(models.Model):
    id = models.IntegerField(primary_key=True, editable=False)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=120, null=False)

Это сериализатор:

class OnboardSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserInfo
        fields = ('id', 'user', 'name', 'username')
        extra_kwargs = {'id': {'required': True}}

Вот такой вид:

class OnboardAPI(generics.GenericAPIView):
    permission_classes = (permissions.IsAuthenticated,)
    serializer_class = OnboardSerializer
    authentication_classes = (TokenAuthentication,)

    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save()

        return Response(serializer.data)

Когда мы пытаемся запустить конечную точку OnboardAPI, мы получаем следующую ошибку при отправке этого тела

{ "id": 6, "user": 6, "name": "Muse" }

django.db.utils.IntegrityError: null значение в столбце "id" отношения "users_userinfo" нарушает ограничение not-null DETAIL: Ошибочная строка содержит (null, Muse, 6).

Похоже, что колонка id не сериализуется, как это исправить? Спасибо!

Вернуться на верх