从Django admin隐藏模型属性并手动设置其值

时间:2017-05-17 21:34:33

标签: django django-models django-forms

我想隐藏django admin中的列并从session设置其值。

简单来说,我想从会话中设置模型的属性,并且不希望在该列的admin中有一个字段。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

您可以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

答案 1 :(得分:0)

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

检查This example