gpt4 book ai didi

Django Rest 框架 imagefield 可选

转载 作者:行者123 更新时间:2023-12-02 04:02:19 25 4
gpt4 key购买 nike

模型.py

picture = models.ImageField(upload_to='Images/', 
default='/Images/None/No-img.jpg', blank=True,null=True)

序列化器.py

class UserProfileSerializer(serializers.ModelSerializer):
picture = serializers.ImageField(max_length=None,
allow_empty_file=True, use_url=True)

class Meta:
model = UserProfile
fields = ('id','picture',)
read_only_fields=('id')

但它仍然显示为必填字段,我无法使用图像发出发布请求,这是一个错误吗?

最佳答案

也许您应该尝试在序列化程序中将字段picture 设置为required=False

由于您在没有任何 required 参数的情况下定义了 image 字段,因此 DRF 假定默认的 required 值,即 True.如果您在反序列化期间不提供此字段,DRF 将引发错误,指出 image 字段是必需的。

来自docs:

Normally an error will be raised if a field is not supplied during deserialization. Set to false if this field is not required to be present during deserialization.

Defaults to True.

 class UserProfileSerializer(serializers.ModelSerializer):
picture = serializers.ImageField(required=False, max_length=None,
allow_empty_file=True, use_url=True)

关于Django Rest 框架 imagefield 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37679210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com