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