繁体   English   中英

获取除一个以外的所有字段

[英]Get all fields except one

我目前正在通过model._meta.get_all_field_names()在django管理界面中显示我的字段。 现在这可以正常工作,但是它也显示数据集的主键(我认为这看起来不太好)。

所以我的问题是:是否有一种“惰性”方式来获取除一个/多个以外的所有字段? 还是我必须将除我不想显示的字段之外的每个字段都写到list_display = array_of_fields_to_be_displayed

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM