python - 保存时忽略内联模型

标签 python django django-admin

我一直在查看文档和 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/

相关文章:

django - 如何在 vscode 中的 django-rest-framework 包上打断点进行调试?

python - Django:如何在 list_display 中包含内联模型字段?

python - 尝试从 lambda(python)访问 S3 时出错

python - 在 C 中嵌入 Python : unable to read python return integer value

django - 如何在 UpdateAPIView 中返回自定义 JSON 响应?

django - 在 Django 中预填充密码字段?

django - DEBUG=False 时无法访问管理面板中的模型

管理界面中的 Django 自定义管理命令

python - pymssql utf8 : queries with back slash

python - Bokeh 0.7.1 : Dynamically Add Plot to Bokeh-Server Generated Existing Page