Общие отношения "многие ко многим" в django admin

У меня есть несколько похожих моделей в Django:

class Material(models.Model):
    title = models.CharField(max_length=255)
    class Meta:
        abstract = True

class News(Material):
    state = models.PositiveSmallIntegerField(choices=NEWS_STATE_CHOICES)

class Article(Material):
    genre = models.ForeignKey(Genre, verbose_name='genre')

И модель Тема , которая связана с новостями и статьями как ManyToMany.

Я бы хотел использовать общие отношения «многие ко многим», как в этом случае . Но вопрос в том, как использовать виджет ManyToMany по умолчанию в админке django. Или другой удобный аналог.

UPD : Если бы я не использовал дженерики, я бы написал

class News(Material): 
    topic = models.ManyToMany(Topic) 

class Article(Material):
    topic = models.ManyToMany(Topic)

И я бы получил 2 идентичные таблицы, которые выражают эти отношения. Интересно, могу ли я использовать дженерики, чтобы иметь одну промежуточную таблицу, потому что не только новости и статьи могут иметь тему в моей базе данных. Новости и статьи также могут быть связаны с 2 или более темами.

5
задан Community 23 May 2017 в 12:15
поделиться