Если вы используете SQL Server Express, то задание агента не включено. Пожалуйста, попробуйте перейти на другие версии (Standard, Enterprise и т. Д.).
This can be done in Django, but you will need to restructure your models a little bit differently:
class Product(models.Model):
name = models.CharField(max_length=50)
product_rank = models.OneToOneField('ProductRank')
class ProductRank(models.Model):
rank = models.IntegerField(default=0)
Now, when fetching Product objects, you can following the one-to-one relationship in one query using the select_related() method:
Product.objects.filter([...]).select_related()
This will produce one query that fetches product ranks using a join:
SELECT "example_product"."id", "example_product"."name", "example_product"."product_rank_id", "example_productrank"."id", "example_productrank"."rank" FROM "example_product" INNER JOIN "example_productrank" ON ("example_product"."product_rank_id" = "example_productrank"."id")
I had to move the relationship field between Product and ProductRank to the Product model because it looks like select_related() follows foreign keys in one direction only.
Добавьте вызов метода select_related () QuerySet, хотя я не уверен, что захватывает ссылки в обоих направлениях, это наиболее вероятный ответ.
Я не проверял, но:
products = Product.objects.filter(categories__pk=1).select_related()
Следует захватить каждый экземпляр.