Python Django.db模型发送给管理员的Django错误消息
我正在使用DRF创建一个API后端。现在,我想在从管理员保存模型时强制执行某些验证规则。我使用的是Python Django.db模型发送给管理员的Django错误消息,python,django,django-models,django-rest-framework,django-admin,Python,Django,Django Models,Django Rest Framework,Django Admin,我正在使用DRF创建一个API后端。现在,我想在从管理员保存模型时强制执行某些验证规则。我使用的是viewset,从rest框架调用时可以覆盖。但是当我通过重写save()方法来验证模型时,它不能向管理员发送任何错误消息,因为它没有任何请求参数。场景如下: from django.db import models class PatientCaregiver(models.Model): name = models.CharField(max_length=200, null=
viewset
,从rest框架调用时可以覆盖。但是当我通过重写save()
方法来验证模型时,它不能向管理员发送任何错误消息,因为它没有任何请求
参数。场景如下:
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()模型中,我没有request参数。因此,如何从save()模型向管理员发送任何错误消息?正确的处理方法是在
save
中引发异常,在视图中捕获它并在那里添加消息代码。但是为什么需要在模型保存方法中显示该错误消息呢?因为当从django管理员执行请求时,请求会到达该位置。我想我不能使用视图来处理管理操作。我可以吗?但我如何在视图中超越管理操作?我不知道有没有办法。