2024-06-01 04:19:05 发布
网友
如何迭代和检索django模型的所有字段?在
我知道foo.item._meta.get_all_field_names()给我带来了所有的字段名。 如何访问模型实例上的这些字段(包括它们的实际值)?(除了普通符号foo.fieldname)。在
foo.item._meta.get_all_field_names()
foo.fieldname
我需要这个来为我的模型建立一个自定义输出,包括它的许多关系。 有什么想法吗?在
这看起来很难看,但它会起作用:
for each in model_instance._meta.fields: print each.value_from_object(model_instance)
也就是说,我还有一个建议。鉴于你的要求是
to build a custom output for my model including its manyTomany relations.
不如将实例serializing转换为合适的格式(XML/JSON),然后再处理它呢?这避免了对_meta或任何内部方法(可能会更改)的任何依赖。在
_meta
怎么样:
getattr(foo.__class__, <field_name>)
这应该给您字段对象,而不是给定模型实例中的值。如果您想要给定模型中字段的值疯狂,可以这样调用它:
这看起来很难看,但它会起作用:
也就是说,我还有一个建议。鉴于你的要求是
不如将实例serializing转换为合适的格式(XML/JSON),然后再处理它呢?这避免了对
_meta
或任何内部方法(可能会更改)的任何依赖。在怎么样:
这应该给您字段对象,而不是给定模型实例中的值。如果您想要给定模型中字段的值疯狂,可以这样调用它:
^{pr2}$相关问题 更多 >
编程相关推荐