作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试找出从 Field
对象获取模型字段名称的推荐方法。
如果 field
是对象名称,那么 field.name
似乎可以工作(我从一些 SO 帖子中发现),但令人惊讶的是它在 docs 中没有提到。 ,所以想知道这是否仍然是最好的方法,还是我错过了一些明显的东西?
最佳答案
这似乎是获取模型字段名称的正确方法。 field.name
也用于 docs (见页面底部)在解释从旧 API 迁移到新模型 _meta
API 时:
MyModel._meta.get_all_field_names() becomes:
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)
)))
和
[f.name for f in MyModel._meta.get_fields()]
这也是合乎逻辑的,因为另一方面,当你想要一个字段对象时 you can get it按其名称:
f = MyModel._meta.get_field(name)
因此 f.name
将是字段的名称。
关于Django 从 Field 对象获取字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896551/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!