Как я могу генерировать SQL как фрагмент 1-2?
Почему Django поддерживает только prefetch_related ('product_set') без поддержки объединения с manytomanyField?
Конечно, я могу сделатьпохожий набор запросов, например
Order.objects.filter (product_set_included_order__name = 'product_name1')
он генерирует SQL с объединением двух сущностей
, но у него есть большая проблема, которая не затронулаиндекс (пк)
# 1-1 this is snippet code
# in Django model of relationship with ManyToMany
class Product(models.Model):
name: str = models.CharField(null=False, max_length=128)
price: int = models.PositiveIntegerField(null=False, default=0)
class Order(models.Model):
product_set= models.ManyToManyField(to=Product)
# 1-2 i want generate this SQL but it's impossible!!
SELECT *
FROM "order"
INNER JOIN "orderedproduct"
ON ("order"."id" = "orderedproduct"."related_order_id")
INNER JOIN "product"
ON ("orderedproduct"."related_product_id" = "product"."id")
WHERE "order"."id" = 1;