我一直在查看文档和 stackoverflow/论坛,寻找一种在将模型保存在 django admin 中时忽略模型的内联子级的方法。我已经搜索了几天,似乎找不到答案。
我有一个普通的 tabularinline 对象:
class UserOrdersAdmin(admin.TabularInline):
model = Order
classes = ['collapse']
以及普通的用户管理员注册:
class UserAdmin(BaseUserAdmin):
inlines = (UserOrdersAdmin, UserSettingsAdmin)
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
我只是想要的是,当我在用户“更改 View ”中按下“保存”时,它将忽略内联到 UserAdmin 的内联“UserOrderAdmin”。
最佳答案
从您对我的评论的回复中,我了解到您想在管理员中显示一些不可编辑的额外信息。这可以在内联中使用 readonly_fields
来实现,为了完整起见,您还应该将 max_num
设置为 0,否则您可以添加空内联。
您可以手动输入所有字段或使用此答案中给出的内容:https://stackoverflow.com/a/42877484/2354734
最终结果看起来像这样。
class UserOrdersAdmin(admin.TabularInline):
model = Order
classes = ['collapse']
max_num = 0
def get_readonly_fields(self, request, obj=None):
return list(set(
[field.name for field in self.opts.local_fields] +
[field.name for field in self.opts.local_many_to_many]
))
为了使答案完整,还可以链接到 documentation
关于python - 保存时忽略内联模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44948764/