如何动态获取多对多关系的连接器表名称?

时间:2015-12-18 21:44:39

标签: django django-models

不幸的是,我有一种情况需要编写原始SQL查询。我有一个将具有许多多对多关系的模型,并且我尝试使用通用函数在查询中获取正确的信息。

多对多关系中的每一个都将按照shared = models.ManyToManyField(SharedResource)的方式设置。在我的原始查询函数中,我给出了具有此定义的模型,并且需要构建表名来进行原始连接。

如何可靠地获取多对多连接器表名?

1 个答案:

答案 0 :(得分:1)

模型的表名可以通过Model._meta.db_table获得,您可以通过Model.field.through到达M2M字段的直通表。所以,在你的情况下:

MyModel.shared.through._meta.db_table