В вашей текущей настройке ответ @radious правильный.Однако OrderItems действительно не должно существовать.Заказы должны иметь прямые отношения M2M с Предметами.Промежуточная таблица будет создаваться во многом как OrderItems для достижения отношений, но с M2M вы получите гораздо более простые и логичные отношения
class Order(models.Model):
some_field = models.CharField(max_length=100, unique=True)
items = models.ManyToManyField(Items, related_name='orders')
Затем вы можете сделать: Order.items.all()
и Item.orders.all()
.Запрос, необходимый для этой проблемы, будет упрощен до:
ItemSize.objects.filter(item__orders=some_order)
Если вам нужны дополнительные данные о взаимосвязи Order-Item, вы можете сохранить OrderItem, но использовать его в качестве сквозной таблицы, например:
class Order(models.Model):
some_field = models.CharField(max_length=100, unique=True)
items = models.ManyToManyField(Items, related_name='orders', through=OrderItem)
И вы по-прежнему получаете более простые отношения.