【发布时间】:2017-07-19 13:51:51
【问题描述】:
我正在使用 DRF 创建 API 后端。现在,我想在从管理员保存模型的同时强制执行某些验证规则。我正在使用viewset 并且可以在从其余框架调用时覆盖。但是当我通过覆盖save() 方法来验证模型时,它无法向管理员发送任何错误消息,因为它没有任何request 参数。场景是这样的:
from django.db import models
class PatientCaregiver(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
email = models.CharField(max_length=200, null=True, blank=True)
def save(self, *args, **kwargs):
# do some processing
# return some error or success msg(how?)
我知道我可以使用以下代码发送错误消息:
from django.contrib import messages
messages.error(request,'Error message')
但如您所见,在我的 save() 模型中,我没有请求参数。那么,如何将 save() 模型中的任何错误消息发送给管理员?
【问题讨论】:
-
但是为什么在模型保存方法中需要那个错误信息呢?
-
因为这是从 django 管理员执行时请求到达的地方。我想我不能使用视图来处理管理操作。我可以吗?
标签: python django django-models django-rest-framework django-admin