【问题标题】:Hide Model Property from Django admin and set Its Value Manually从 Django 管理员隐藏模型属性并手动设置其值
【发布时间】:2017-10-17 12:33:06
【问题描述】:

我想从 django admin 中隐藏一个列,并从 session 中设置它的值。

简单来说,我想从会话中设置模型的属性,并且不希望该列的管理员字段。

有人可以帮我吗?

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    您可以mark the field as read-only,但仍然可以在管理员中看到它,或者completely exclude it

    class MyModel(models.Model):
        field1 = models.CharField(max_length=20) # this is editable
        field2 = models.CharField(max_length=20, editable=False) # this is not
    

    @admin.register(MyModel)
    class MyModelAdmin(admin.ModelAdmin):
        exclude = ['field2']
    

    如果您在管理员中使用自定义模型表单,只需 don't include the field in the fields attribute

    【讨论】:

    • 这里不解释如何设置只读/排除值的值
    【解决方案2】:

    据我所知,有很多方法可以做到这一点,使用Meta 上的字段属性,您可以隐藏或选择要显示的字段。

    查看This example

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 2021-04-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2018-12-06
      • 2021-12-11
      相关资源
      最近更新 更多