Many2many к одной и той же модели, но не сам по себе и не несколько раз

hej!

У меня есть модель, ссылающаяся на такую же модель через "self", это в целом работает, но я хочу, чтобы она не была связана с "самой собой". Допустим, topic1 не может быть связана с topic1 (что не имело бы никакого смысла), и я не хочу, чтобы можно было многократно связывать topic1 с topic2. Это должно быть только однократное соединение topic1-topic2 в базе данных.

# 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, чтобы не иметь соединения в обоих направлениях, что полезно, но недостаточно.

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

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

Вернуться на верх