【问题标题】:Maximum recursion depth exceeded when saving model保存模型时超出最大递归深度
【发布时间】:2013-08-30 19:02:35
【问题描述】:

我有几个 ModelAdmin 类,我想在保存模型时执行相同的操作,因此我为此创建了 mixin 对象:

class SaveModelMixin(object):
    def save_model(self, request, obj, form, change):
        if obj.is_executed and 'is_executed' in obj.changed_data:
            obj.date_execution = datetime.date.today()
        super(self.__class__, self).save_model(request, obj, form, change)

当我尝试在管理员中保存对象时,这个方法只是一次又一次地运行,我不知道为什么。

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    您的super() 调用似乎不正确,试试这个:

    super(SaveModelMixin, self).save_model(request, obj, form, change)
    

    请看这里的解释:How to avoid infinite recursion with super()?

    另见:

    【讨论】:

      猜你喜欢
      • 2016-09-24
      • 1970-01-01
      • 2013-07-10
      • 2013-12-01
      • 2017-03-24
      • 2011-12-31
      • 2017-08-09
      • 2011-03-31
      相关资源
      最近更新 更多