Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import operator
- from functools import reduce
- from django.db.models import Q, F, Sum, Count, Max, Min, IntegerField
- from django.db.models.functions import Coalesce
- from product_storage.models.product_history import ProductPriceHistory
- from product_storage.models.products import Product
- product_with_max_increase = (
- ProductPriceHistory.objects
- .values('product')
- .annotate(max_increase=Max('percent'))
- .order_by('-percent', '-created_at')
- )
- filter_object = reduce(operator.or_, (Q(**x) for x in product_with_max_increase))
- queryset = (
- ProductPriceHistory.objects
- .annotate(max_increase=Max('percent'))
- .filter(filter_object)
- .order_by('-max_increase')
- )[:20]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement