覆盖Django的ModelAdmin方法

时间:2015-02-25 21:42:19

标签: python django django-admin

我需要做一些自定义表单处理。我认为最好的方法是扩展ModelAdmin的changeform_view方法,因为它是负责处理表单和插入/更新记录的方法。像这样:

class ArticleAdmin(ModelAdmin):
    # my custom form processing here
    super(ArticleAdmin, self).changeform_view(self, request, object_id=None, form_url='', extra_context=None)

然而,没有任何反应。我甚至试图将这一点发挥到极致并做到了这一点:

class ArticleAdmin(ModelAdmin):
    def changeform_view(self, request, object_id=None, form_url='', extra_content=None):
        pass

更新对象正常工作,除了那个之外,我会期待任何事情。

我重新启动了开发服务器。据我所知,Django管理员的某些部分与重新加载器的效果不佳,所以我已经排除了这一点。

我在这里错过了什么吗?

提前致谢。

更新

我只是想通了。对于我想要实现的目标,要扩展的方法是save_model()。

def save_model(self, request, obj, form, change):
    pass

希望它有所帮助。

1 个答案:

答案 0 :(得分:2)

我只是想通了。对于我试图实现的扩展方法是save_model()。

def save_model(self, request, obj, form, change):
    pass

希望它有所帮助。