【发布时间】:2019-05-08 01:59:30
【问题描述】:
我使用Profile.objects.values('id', 'avatar') 从表中检索对象,但我希望当avatar 的值为空时设置为media/profile.png,我的模型
avatar = models.ImageField(upload_to='media', blank=True, default='media/profile.png')
并使用JsonResponse(data, safe=False) 以json 格式返回所有内容
[{"id": "1", "avatar": ""}, {"id": "2", "avatar": ""}, {"id": "3", "avatar": "media/profile.png"}, {"id": "4", "avatar": "media/art_xpr.png"}]
并且在javascript前端使用,但问题是头像在某些情况下是空的。
【问题讨论】:
-
请不要不要使用
.values来构造JSON响应,使用专门用于此任务的东西:serializer。 -
所以你要么编写一个脚本来在你的数据库中添加缺失的值,要么通过 js 在前端设置默认值。在将其发送到前端之前无需在后端进行验证,因为在这种情况下您有一个明确的默认值。
标签: json django django-models