我需要知道各种模型字段的db_column名称。在一些模型上,名称由"db_column='foo'“显式设置,但大多数模型/字段都具有Django自动生成的名称。
如何从模型实例中检索column_name for all字段?
发布于 2011-03-09 10:09:39
有一个无文档的_meta API,在整个Django中被广泛用于内省模型。它将您的模型选项存储在该类型上,并提供了大约20多个方法和属性来检查模型及其字段。您可以使用它获取所有模型字段,然后从字段中获取列名,因为它们指定了所有业务逻辑:
for field in Model._meta.fields:
field.get_attname_column()这将返回一个元组,它将包含模型上的属性(字段)名称和DB列名。对于模型字段foo = models.IntegerField(db_column='bar'),这将返回('foo', 'bar')。
发布于 2011-03-09 09:23:01
您可以使用原始SQL对数据库进行查询,并使用此问题的答案:
How to get field names when running plain sql query in django。
https://stackoverflow.com/questions/5243222
复制相似问题