我一直在查看文档和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)
我只想要的是当我在用户“更改视图”中按保存时,它将忽略内联到UserAdmin的内联“UserOrderAdmin”。
答案 0 :(得分:2)
根据您对我的评论的回复,我想知道您想在管理员中显示一些额外信息,这是不可编辑的。这可以使用内联中的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
的链接答案 1 :(得分:0)
试试这个:
class UserOrdersAdmin(admin.TabularInline):
model = Order
classes = ['collapse']
extra = 0