在Django中,如何覆盖“保存并继续”功能?

时间:2013-01-02 17:25:20

标签: django django-admin

我需要在我的ModelAdmin中添加一些保存前和保存后的逻辑,但仅当用户通过“保存并继续编辑”按钮而不是“保存”按钮提交表单时。我怎么能这样做?

1 个答案:

答案 0 :(得分:10)

就像覆盖普通的保存方法一样,您需要覆盖ModelAdmin中的save_model()函数,其中包含请求object。在request对象中,您可以获得POST对象,如果用户点击了“保存并继续按钮”,则会包含'_continue'。例如:

class MyAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, changed):
        if '_continue' in request.POST:
            # add your code here
        return super(ServerAdmin, self).change_view(request, obj, form, changed)