0
3つのテーブルに対して同じクエリを実行してから、すべてをまとめて実行します。 しかし、私は少し複雑なクエリであるため、このように多くのリソースを消費していると感じています.3つのテーブルすべてに対して1つのクエリを作成できるようにしたいのですが、これはDjangoで可能ですか?Djangoは複数のテーブルで同じクエリを作成します
私はSQLAlchemyのに似たものがあることを知っている:
SQLAlchemy How to joiun several tables by one query
コード:
# Review Dish
recent_dish_review = restaurant.models.DishReview. \
objects.filter(user_id__in=id_follows,
created_at__lte=timezone.now(),
created_at__gte=days
).order_by('-created_at')[:limit]
# Review Restaurant
recent_restaurant_review = restaurant.models.RestaurantReview. \
objects.filter(user_id__in=id_follows,
created_at__lte=timezone.now(),
created_at__gte=days
).order_by('-created_at')[:limit]
# User Like Dish
recent_like_dish = restaurant.models.DishesLikes. \
objects.filter(foodie_id__in=id_follows,
created_at__lte=timezone.now(),
created_at__gte=days
).order_by('-created_at')[:limit]
return list(sorted(chain(recent_restaurant_review, recent_dish_review, recent_like_dish))