我目前通过model._meta.get_all_field_names()
在django管理界面中显示我的字段。现在这个工作正常,但它也显示了数据集的主键(在我看来这看起来不太好)。
所以我的问题是:除了一个/多个之外,是否有“懒惰”方式获取所有字段?或者除了我不希望显示在list_display = array_of_fields_to_be_displayed
答案 0 :(得分:4)
您可以使用model._meta.fields
属性列表Field
实例:
[field.name for field in model._meta.fields if not field.primary_key]
每个Field
都有primary_key
属性(True
如果该字段是主键)和name
属性(以及该字段的名称)。
auth.models.User
上的工作示例:
>>> [field.name for field in User._meta.fields if not field.primary_key]
['password', 'last_login', 'is_superuser', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined']
输出中没有id
字段。可能是件好事。