【问题标题】:why save_model method doesn't work in admin.StackedInline?为什么 save_model 方法在 admin.StackedInline 中不起作用?
【发布时间】:2011-03-04 03:53:24
【问题描述】:

我有一个与我之前解决的问题类似的问题,只是这次解决方案似乎不起作用:

How to auto insert the current user when creating an object in django admin?

以前我使用覆盖 save_model 来标记提交文章的用户。现在我需要为 cmets 做同样的事情,它似乎不再起作用了。

有人有什么想法吗?

非常感谢!

杰森

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    保存不是在 InlineAdmin 的save_form 中完成的,您必须查看内联所属的 ModelAdmin 中的save_formsets

     class MyAdmin(admin.ModelAdmin):
        inlines = [MyInlineAdmin,.....]
    
        def save_formset(self, request, form, formset, change):
            formset.save()
            if not change:
                for f in formset.forms:
                    obj = f.instance 
                    obj.user = request.user
                    obj.save()
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 2019-07-18
    • 2020-10-02
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    相关资源
    最近更新 更多