模型.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
as required=False
在你的序列化器中。
既然您已经定义了image
场没有任何required
参数,DRF 采用默认值required
值,即True
。如果您在反序列化期间不提供此字段,DRF 将引发错误image
字段为必填项。
来自docs: http://www.django-rest-framework.org/api-guide/fields/#core-arguments
通常,如果在执行期间未提供字段,则会引发错误
反序列化。如果不需要此字段,则设置为 false
反序列化期间出现。
默认为True
.
class UserProfileSerializer(serializers.ModelSerializer):
picture = serializers.ImageField(required=False, max_length=None,
allow_empty_file=True, use_url=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)