如何读取Model实例的数据库表名称?


101

给定模型的实例对象,如何获取数据库表的名称?

我不想在Meta类中明确指定名称。

Answers:


179

我自己找到了答案:实例的_meta属性具有以下信息:

model_instance._meta.db_table

这很奇怪,可以从受保护的属性访问模型的表名_meta::Options
Alex-Bogdanov,

5
@ Alex-Bogdanov:该_meta财产不受保护。它是公共API的记录部分。它的前面加了下划线,以免与人们可能实际希望在其模型中使用的名称发生冲突。
瑞安·希伯特

1
如果您愿意,请创建一个属性方法以将其返回... @property def table_name(self): return self._meta.db_table
Jcc.Sanabria
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.