Поле "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 не сериализуется, как это исправить? Спасибо!