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 に答える