【问题标题】:Django admin editable field - take actionDjango 管理员可编辑字段 - 采取行动
【发布时间】:2014-01-12 05:30:57
【问题描述】:
我有一个问题:
在 Django admin 中,当您有一个带有列 (BooleanField) 的模型并在 admin.py 中将其设置为可编辑时。当您检查并保存它以采取一些措施时是否有可能?
我有一个对象,可以说是 Ticket,其中包含多个字段和另一个名为 Status 的字段。
我在 Django Admin 中看到了他的所有字段(在 admin.py 中注册),当我将他的状态设置为 True 并保存它时,我希望 django admin 发送一封电子邮件让我们说......是否可能,如果......如何 ?
非常感谢大家,圣诞快乐!
【问题讨论】:
标签:
django
web
django-models
django-admin
django-views
【解决方案1】:
是的,这可以通过覆盖 ModelAdmin 类的 save_model 方法来实现。您可以找到相关文档here。
因此,根据您的示例,您可能会按照以下方式做一些事情:
from django.contrib import admin
class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
if obj.BooleanModelFieldName == True:
send_email(object.user.email)
obj.save()
但是,您可能希望通过在方法中包含更精确的逻辑来确保每次保存模型时都不会发送电子邮件。