Django модель как сделать отображение многие к одному?
Я пытаюсь сопоставить несколько полей с одним и тем же полем в классе vendor и menu. Если я сопоставляю с помощью внешнего ключа, как показано ниже, это работает. Но это не то, что я хочу.
class OrderItem_Mon(models.Model):
vendor_name = models.ForeignKey(Vendor, on_delete=models.SET_NULL, null=True)
menu_name = models.ForeignKey(Menu, on_delete=models.SET_NULL, null=True)
date_created = models.DateTimeField('date created', auto_now_add=True)
note = models.CharField('note', max_length=255, null=True, blank=True)
Мне нужно сопоставить несколько полей с одним и тем же полем определенной таблицы следующим образом.
class OrderItem_Mon(models.Model):
vendor_name_1 = models.ForeignKey(Vendor, db_column='vendor_name', on_delete=models.SET_NULL, null=True)
menu_name_1 = models.ForeignKey(Menu, db_column='menu_name',on_delete=models.SET_NULL, null=True)
vendor_name_2 = models.ForeignKey(Vendor, db_column='vendor_name',on_delete=models.SET_NULL, null=True)
menu_name_2 = models.ForeignKey(Menu, db_column='menu_name', on_delete=models.SET_NULL, null=True)
date_created = models.DateTimeField('date created', auto_now_add=True)
note = models.CharField('note', max_length=255, null=True, blank=True)
Однако это не работает. Как мне заставить это работать? В принципе, мне нужно сделать новую форму, в которой есть dropbox, который получает значение от поставщика и модель меню для каждого поля. Помогите
Необходимо добавить атрибут related_name для полей модели внешнего ключа и дать разные имена.
Ошибка связана с тем, что одна и та же модель используется в качестве внешнего ключа для нескольких полей. Это создает проблему во время миграции. Просто установка различных .related_name не вызовет никаких проблем.