Anu*_*pam 2 django django-models django-views
我试图找出从Field对象获取模型字段名称的推荐方法.
它似乎是field.name有效的(我从一些SO帖子中发现)如果field是对象名称,但令人惊讶的是它在文档中没有提到它,所以想知道它仍然是最好的方式还是我错过了一些明显的东西?
这似乎是获取模型字段名称的正确方法.在解释从旧API到新模型API 的迁移时,field.name也会在文档中使用(请参阅页面底部)_meta:
MyModel._meta.get_all_field_names()变为:
Run Code Online (Sandbox Code Playgroud)from itertools import chain list(set(chain.from_iterable( (field.name, field.attname) if hasattr(field, 'attname') else (field.name,) for field in MyModel._meta.get_fields() # For complete backwards compatibility, you may want to exclude # GenericForeignKey from the results. if not (field.many_to_one and field.related_model is None) )))
和
Run Code Online (Sandbox Code Playgroud)[f.name for f in MyModel._meta.get_fields()]
另外,它在逻辑上也是如此,因为另一方面,当你想要一个场对象时,你可以通过它的名字得到它:
f = MyModel._meta.get_field(name)
Run Code Online (Sandbox Code Playgroud)
这f.name将是该领域的名称.
| 归档时间: |
|
| 查看次数: |
4253 次 |
| 最近记录: |