相关疑难解决方法(0)

在Django管理站点中显示自定义模型验证异常

我有一个预订模型,需要检查预订的项目是否可用.我想知道这个项目是否可以集中存在的逻辑,这样无论我在哪里保存实例,这个代码都会验证它是否可以保存.

目前我在我的模型类的自定义保存功能中有这个代码:

def save(self):
    if self.is_available(): # my custom check availability function
        super(MyObj, self).save()
    else:
        # this is the bit I'm stuck with..
        raise forms.ValidationError('Item already booked for those dates')
Run Code Online (Sandbox Code Playgroud)

这很好 - 如果项目不可用,则会引发错误,并且我的项目未保存.我可以从我的前端表单代码中捕获异常,但是Django管理站点呢?如何将我的异常显示为与管理站点中的任何其他验证错误一样?

django django-admin

20
推荐指数
4
解决办法
2万
查看次数

在admin中显示来自信号的自定义消息

我有一个预先保存的信号监听器,可以更新第二个模型.与此示例相同:

我想让用户知道监听器成功更新了模型并提供了一些信息.通常,我认为我可以使用django具有的内置消息功能.问题是信号无法访问"请求".所以我看不出如何使用内置的Django Messages Framework.

是否有一种已知的方法可以在管理员中向用户发送消息?也许通过覆盖其中一个模型的save()方法?(发送信号或接收的那个),但我认为save()方法也不能访问'request'?

这必须是其他人想要做的事情吗?

django

5
推荐指数
1
解决办法
1260
查看次数

标签 统计

django ×2

django-admin ×1