为啥 save_model 方法在 admin.StackedInline 中不起作用?
Posted
技术标签:
【中文标题】为啥 save_model 方法在 admin.StackedInline 中不起作用?【英文标题】: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 做同样的事情,它似乎不再起作用了。
有人有什么想法吗?
非常感谢!
杰森
【问题讨论】:
【参考方案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()
【讨论】:
非常感谢!只是提供一些更实质性的例子:***.com/questions/1477319/… 您确定:如果不更改:是否正确?如果改变不应该是:?非常感谢你的例子!!!投票赞成。 @LukeDupin 我认为这是正确的。正如所写,它只会在创建内联对象时设置用户,但不会在更新时设置。 docs.djangoproject.com/en/1.10/ref/contrib/admin/…以上是关于为啥 save_model 方法在 admin.StackedInline 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
覆盖 Django InlineModelAdmin 上的 save_model
Django admin save_model 没有在 Postgres 中推进主键
django admin save_model 不保存模型更改
keras.models.save_model 中的 saved_model.pb 是不是与 tensorflow freeze_graph 输出 .pb 文件相同?