1

我有几个 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)

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

4

1 回答 1

3

看起来你的super()电话不正确,试试这个:

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

请参阅此处的解释:如何避免使用 super() 进行无限递归?

另见:

于 2013-08-30T19:05:13.957 回答