【问题标题】:Django: call a function after a model is savedDjango:保存模型后调用函数
【发布时间】:2012-07-19 02:07:42
【问题描述】:

我想要做的是在模型保存后执行一个函数。例如:当我通过管理员上传 db 转储文件时,我想将其加载到 db。

我通过覆盖保存功能尝试了以下事情:

class DumpFile(models.Model)
 file = models.FileField(upload_to="dump")
 def save():
  super(models.Model,self).save()
  <LOAD DUMP  LOGIC>

这里给出属性错误 super has no attribute save()。 我不明白那里有什么问题。请让我知道这个问题或保存模型后可以使用的任何功能。

【问题讨论】:

    标签: django django-models django-admin


    【解决方案1】:

    super 应该被赋予当前类,而不是父类:

    super(DumpFile, self).save()
    

    另外,请查看signals,这是在标准 Django 事件之后使事情发生的另一种机制。

    【讨论】:

    • 非常感谢,信号也是一个很棒的概念,我直到现在才知道。
    猜你喜欢
    • 2017-08-26
    • 2015-10-16
    • 2014-10-21
    • 2018-08-07
    • 2013-05-11
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多