django - 通过详细名称获取字段

django - get field via verbose name

假设我在 Foo 模型中有这个字段

field1 = CharField(max_length=10, verbose_name='Bar')

有没有办法通过 verbose_name return field1

这是我的可视化效果,但它抛出 TypeError

Foo._meta.get_field(verbose_name='Bar')

您可以手动过滤这些,return 第一个匹配的:

my_field = next(
    field for field in Foo._meta.<b>get_fields() if field.verbose_name='Bar'</b>
)

如果不存在这样的字段,这将引发 StopIteration

可能有多个这样的字段。例如,我们可以生成具有类似 list comprehension:

的这些字段的列表
all_bar_fields = [
    field for field in Foo._meta.get_fields() if field.verbose_name='Bar'
]