2014-01-23 25 views
1

我目前通过model._meta.get_all_field_names()在django管理界面中显示我的字段。现在,这工作正常,但它也显示数据集的主键(在我看来,这看起来不太好)。获取除一个之外的所有字段

所以我的问题是:是否有一种“懒惰”的方式来获得除一个/多个所有领域?还是我的每一个单场写,除了我不希望显示为一个(或多个)一list_display = array_of_fields_to_be_displayed

回答

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字段。可能是一件好事。

相关问题