Django:在模型管理器中获取模型的表名?

时间:2014-05-01 08:42:19

标签: django

我有一个模型,并为此模型提供模型管理器。我在模型管理器中编写了一些sql,我需要在sql中使用模型的表名。我知道表的名称由元数据app_label和db_name组合,但是我可以从经理类访问它们吗?我知道我可以在经理中创建一个模型实例,但我宁愿不这样做..

非常感谢!

3 个答案:

答案 0 :(得分:18)

模型经理有字段model

Model.objects.model._meta.db_table

答案 1 :(得分:3)

对于给定的instance,您可以使用instance._meta.db_table,但这也适用于模型类,因此如果您可以从经理升级到model,那么&#39 ;也会工作

答案 2 :(得分:0)

假设您有一个名为 Service

的模型

你可以使用

Service._meta.db_table # this will work too

这个也是

Service.objects.model._meta.db_table # this will work too

这也是
假设您有一个这样的服务实例Model

service = Service.objects.get(pk=1)
# get table name like this
table_name = service._meta.db_table # this will work too