如果有值,如何在django admin中有条件地显示字段?

时间:2016-10-31 17:28:59

标签: django-models django-admin

admin.py文件中的

我有一个

 fields = ('name', 'description', ('created_by','created', ),('updated_by', 'updated'))

如果NON为空,我怎么才能显示created,created_by。 当我要创建新记录时,created_by,created,updated_by和updated是空白的,我不需要显示它们。

只有当我保存记录时,我才想在django admin中显示这些字段。

1 个答案:

答案 0 :(得分:8)

尝试通过get_fields方法动态设置字段。像这样:

class MyAdmin(ModelAdmin):
    def get_fields(self, request, obj=None):
        if obj is None:
            return ('name', 'description')
        return ('name', 'description', ('created_by','created', ),('updated_by', 'updated'))

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