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')
имеют больше смысла.