我有一个模型用户配置文件:
class UserProfile(models.Model):
class Meta:
db_table = 't_user_profile'
display_name = models.CharField(
max_length=20,
unique=True,
error_messages={
'unique': ("A user with that display name already exists."),
},
blank=True
)
我有一个查看功能:
@csrf_exempt
def change_display_name(request):
data = json.loads(request.body.decode('utf-8'))
display_name = data.get('displayName')
try:
user_profile = UserProfile.objects.get(id=2)
except UserProfile.DoesNotExist:
return JsonResponse({'error': 'User does not exist.'}, safe=False)
user_profile.display_name = display_name
user_profile.save()
return JsonResponse({'status': 'SUCCESS'}, safe=False)
除了唯一的display\u name和在JSON中返回我在模型中设置的自定义错误消息之外,我该如何尝试呢?你知道吗
是否要处理
UNIQUE
intergrityError
?见this question保存前需要运行验证。下面是一个基于documentation的示例:
如果出于某种原因,您不想执行完全验证,那么可以使用
user_profile.validate_unique()
而不是full_clean()
检查唯一性约束。阅读更多here。你知道吗相关问题 更多 >
编程相关推荐