File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,7 +20,15 @@ class OrderAdminFilterSet(filters.FilterSet):
2020 created_at_after = filters .DateTimeFilter (field_name = "created_at" , lookup_expr = "gte" )
2121 created_at_before = filters .DateTimeFilter (field_name = "created_at" , lookup_expr = "lte" )
2222
23+ first_paid_at_after = filters .DateTimeFilter (field_name = "first_paid_at" , lookup_expr = "gte" )
24+ first_paid_at_before = filters .DateTimeFilter (field_name = "first_paid_at" , lookup_expr = "lte" )
25+
26+ status_changed_at_after = filters .DateTimeFilter (field_name = "status_changed_at" , lookup_expr = "gte" )
27+ status_changed_at_before = filters .DateTimeFilter (field_name = "status_changed_at" , lookup_expr = "lte" )
28+
2329 product_id = filters .BaseInFilter (field_name = "products__product_id" , distinct = True )
30+ category_id = filters .BaseInFilter (field_name = "products__product__category_id" , distinct = True )
31+ category_group_id = filters .BaseInFilter (field_name = "products__product__category__group_id" , distinct = True )
2432
2533 price_min = filters .NumberFilter (field_name = "latest_price" , lookup_expr = "gte" )
2634 price_max = filters .NumberFilter (field_name = "latest_price" , lookup_expr = "lte" )
@@ -37,7 +45,13 @@ class Meta:
3745 "status" ,
3846 "created_at_after" ,
3947 "created_at_before" ,
48+ "first_paid_at_after" ,
49+ "first_paid_at_before" ,
50+ "status_changed_at_after" ,
51+ "status_changed_at_before" ,
4052 "product_id" ,
53+ "category_id" ,
54+ "category_group_id" ,
4155 "price_min" ,
4256 "price_max" ,
4357 ]
Original file line number Diff line number Diff line change @@ -69,6 +69,16 @@ class OrderAdminViewSet(
6969 current_status = PaymentHistory .objects .latest_per_order_field ("status" ),
7070 latest_imp_id = PaymentHistory .objects .latest_per_order_field ("imp_id" ),
7171 latest_price = PaymentHistory .objects .latest_per_order_field ("price" ),
72+ first_paid_at = models .Subquery (
73+ PaymentHistory .objects .filter (order_id = models .OuterRef ("pk" ))
74+ .order_by ("created_at" )
75+ .values ("created_at" )[:1 ]
76+ ),
77+ status_changed_at = models .Subquery (
78+ PaymentHistory .objects .filter (order_id = models .OuterRef ("pk" ))
79+ .order_by ("-created_at" )
80+ .values ("created_at" )[:1 ]
81+ ),
7282 )
7383 .order_by ("-created_at" )
7484 )
You can’t perform that action at this time.
0 commit comments