/ api / img /列“ author_id”中的null值处的IntegrityError违反了非null约束

问题描述 投票:0回答:1

django rest框架发布请求错误这是图像模型

class Img(models.Model):
    created_at=models.DateTimeField(auto_now_add=True)
    author=models.ForeignKey(User,on_delete=models.CASCADE,related_name="img")
    picture=models.ImageField(upload_to='fake_picture',null=True,blank=True)
    tags = TaggableManager(blank=True)

这里是模型Img的图像序列化器

class ImgSerializer(serializers.ModelSerializer):
    tags = TagListSerializerField(required=False)
    author = serializers.StringRelatedField(read_only=True)
    # post   = serializers.StringRelatedField(read_only=True)
    class Meta:
        model=Img
        fields='__all__'

views.py

class ImgViewSet(viewsets.ModelViewSet):
    parser_class = (FileUploadParser,)
    permission_classes =[IsAuthenticatedOrReadOnly,IsAuthorOrReadOnly]
    authentication_classes =(TokenAuthentication,JSONWebTokenAuthentication)
    queryset = Img.objects.all()
    serializer_class=ImgSerializer

但是每当有一个键值对为[]的投递员触发对该特定api端点的投递请求时>

picture:image.jpg

这就是响应

IntegrityError at /api/img/
null value in column "author_id" violates not-null constraint
DETAIL:  Failing row contains (4, fake_picture/2019-06-27_at_10-04-59.png, 2020-05-05 23:06:00.16071+00, null).


Request Method: POST
Request URL: http://localhost:8000/api/img/

post request to that endpoint

with headers

django rest框架发布请求错误,这是图像模型类Img(models.Model):created_at = models.DateTimeField(auto_now_add = True)author = models.ForeignKey(User,on_delete = models ....

django django-models django-rest-framework django-authentication django-serializer
1个回答
0
投票

请尝试这个

© www.soinside.com 2019 - 2024. All rights reserved.