Django Модель M2M Отношения с 2 другими моделями из той же модели

Вот в моей проблеме, у меня есть модель User, в которой пользователь (логин) может быть из компании "Поставщик" или из компании "Клиент".

Это отношения M2M для обоих наборов таблиц: Пользователь-Заказчик и Пользователь-Поставщик.

Могу ли я связать их таким образом:

company = models.ManyToManyField(Customer, Supplier, on_delete=models.PROTECT, related_name='Users')

введите описание изображения здесь

Спасибо!!!

Вы не можете этого сделать.

Лучшим подходом будет, если вы используете модель Company с типом Supplier и Customer вы можете создать перечисление для этого, потому что вы используете одни и те же поля в обеих ваших моделях, поэтому хорошо иметь тип в одной модели.

Как сделать перечисление в модели с TextChoices

Company:
     name
     address
     contact name
     type

тогда в вашей модели User

company = models.ManyToManyField(Company, on_delete=models.PROTECT, related_name='Users')

имеют больше смысла.

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