从中间表名获取M2M模型



我需要从中间表名访问m2m模型.示例模型:

class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person)

所以表名是group_person我怎么能访问它的模型只有从名称?由于某些情况,我不能使用/etc从父/相关模型。我得到m2m表名称列表,如下所示:

m2m_fields = model_class._meta.local_many_to_many
if m2m_fields:
for field in m2m_fields:
table = field.remote_field.through
intermediate_table_name = table.__name__

在迭代某些模型时谢谢!不好意思,不好意思

也可以这样做

Group.members.through.__name__

OR db表名

Group.members.through._meta.db_table

最新更新