【问题标题】:call a method in Django admin site在 Django 管理站点中调用方法
【发布时间】:2014-02-18 11:34:40
【问题描述】:

我有一个 Django 项目,现在一切正常。我有一个 Django 管理站点,现在,我希望在向模型添加新记录时,同时调用一个函数并启动一个进程。我怎么能这样做?这个动作的名称是什么?

【问题讨论】:

标签: python django django-admin django-sites


【解决方案1】:
  • 1 种方式

您可以使用 django 信号将您的 models.py 转到您的应用程序中,您可以这样做。

从 django.db.models.signals 导入 post_save 类测试(模型。模型): # ... 字段在这里 # 更新方法 def update_on_test(sender, instance, **kwargs): # 你想执行的自定义操作 # 注册信号 post_save.connect(update_on_test,发件人=测试)
  • 2 路

如果您使用 django admin 将数据填充到表中,您可以覆盖 modeladmin 类的 save() 方法。

类 TestAdmin( admin.ModelAdmin ): 字段= ['标题','正文'] 表格 = 测试表格 def save_model(self, request, obj, form, change): # 如果你想在保存时执行一些计算,你的登录名 # 如果您需要对您的工作提出要求,它将为您提供帮助 obj.save()

【讨论】:

    猜你喜欢
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多