【发布时间】:2014-05-01 08:42:18
【问题描述】:
我有一个模型,并且有一个模型管理器负责这个模型。我在模型管理器中写了一些sql,我需要sql中模型的表名。我知道表的名称是由元数据 app_label 和 db_name 组合而成的,但是我可以从管理器类中访问它们吗?我知道我可以在管理器中创建模型实例,但我宁愿不这样做..
非常感谢!
【问题讨论】:
标签: django
我有一个模型,并且有一个模型管理器负责这个模型。我在模型管理器中写了一些sql,我需要sql中模型的表名。我知道表的名称是由元数据 app_label 和 db_name 组合而成的,但是我可以从管理器类中访问它们吗?我知道我可以在管理器中创建模型实例,但我宁愿不这样做..
非常感谢!
【问题讨论】:
标签: django
模型经理有model字段:
Model.objects.model._meta.db_table
【讨论】:
Model._meta.db_table?
假设您有一个名为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
【讨论】:
对于给定的instance,您可以使用instance._meta.db_table,但这也适用于模型类,所以如果您可以从经理升级到它的model,那也可以使用
【讨论】: