Как я могу использовать автоматически созданный неявный сквозной класс модели в Django в поле ForeignKey?

В Django у меня есть следующие модели.

В модели Supervisor у меня есть поле «многие ко многим» без явного определения сквозной таблицы. В поле ForeignKey модели Topic я хотел бы сослаться на автоматически созданную промежуточную модель (созданную полем «многие ко многим» в модели Supervisor), но я не знаю, как называется промежуточная модель ( поэтому я написал «???» вместо названия).

Django документация говорит, что «если вы не указываете явную сквозную модель, все еще существует неявный сквозной класс модели, который вы можете использовать для прямого доступа к таблице, созданной для хранения ассоциации».

Как я могу использовать автоматически созданный неявный сквозной класс модели в Django в поле ForeignKey?

import re
from django.db import models

class TopicGroup(models.Model):
    title = models.CharField(max_length=500, unique='True')

    def __unicode__(self):
        return re.sub(r'^(.{75}).*, '\g<1>...', self.title)

    class Meta:
        ordering = ['title']

class Supervisor(models.Model):
    name = models.CharField(max_length=100)
    neptun_code = models.CharField(max_length=6)
    max_student = models.IntegerField()
    topicgroups = models.ManyToManyField(TopicGroup, blank=True, null=True)

    def __unicode__(self):
        return u'%s (%s)' % (self.name, self.neptun_code)

    class Meta:
        ordering = ['name']
        unique_together = ('name', 'neptun_code')

class Topic(models.Model):
    title = models.CharField(max_length=500, unique='True')
    foreign_lang_requirements = models.CharField(max_length=500, blank=True)
    note = models.CharField(max_length=500, blank=True)
    supervisor_topicgroup = models.ForeignKey(???, blank=True, null=True)

    def __unicode__(self):
        return u'%s --- %s' % (self.supervisor_topicgroup, re.sub(r'^(.{75}).*, '\g<1>...', self.title))

    class Meta:
        ordering = ['supervisor_topicgroup', 'title']

Ответы на вопрос(1)

Ваш ответ на вопрос