[英]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.