много2маний для одной и той же модели, но не для себя и не несколько раз

#django #django-models #many-to-many #django-orm

Вопрос:

хей!

У меня есть модель, ссылающаяся на ту же модель через «я», в целом это работает, но я хочу, чтобы она не была связана с «собой». Итак, предположим, что тема 1 не может быть подключена к теме 1 (что не имеет никакого смысла), и я не хочу, чтобы можно было несколько раз подключать тему 1 к теме 2. Это должно быть только один раз в теме 1-теме 2 в базе данных.

 # views.py 

related_topic = models.ManyToManyField(
        "self",
        # TODO: constraint in m2m! not with itself, not in both directions.
        verbose_name="Related Topic",
        blank=True,
        related_name="related_topic"
    )
 

Я обнаружил symmetric=False , что у меня нет связи в обоих направлениях, что полезно, но недостаточно.

Кто-нибудь знает, как этого добиться?

Большое спасибо!