【问题标题】:how to make field only editable by system (not admin or users)如何使字段只能由系统(不是管理员或用户)编辑
【发布时间】:2017-05-14 15:40:50
【问题描述】:

我的模型中需要一些字段用于内部使用(即状态、上次修改等),这些字段只能由 python 代码编辑(和填充)。

如何在 Django Admin 中隐藏它并禁用从表单直接编辑?

【问题讨论】:

    标签: django forms models


    【解决方案1】:

    您必须设置自定义 Django 管理员才能执行相同操作。

    https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.exclude

    class ModelAdmin(admin.ModelAdmin):
         exclude = ('field_1', 'field_2') 
    

    希望对你有帮助

    【讨论】:

    • 谢谢,但它仍然可以在用户表单中编辑。不是吗? (如果用户操作请求数据并为我的隐藏字段添加一个值).. 我应该在我的表单定义中再次排除它吗?
    • 我不确定。它不是隐藏的,而是完全从表单本身中排除的。我认为 django 应该在服务器端表单验证和保存中包含这些字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多