Skip to content

Commit 29944cc

Browse files
authored
Merge pull request #260 from American-Institutes-for-Research/HEA-996/Querysets_for_LivelihoodActivity_API_endpoints_dont_apply_ordering
Add order_by to the viewsets to remove the warning - UnorderedObjectL…
2 parents 97790b4 + 39d6c4d commit 29944cc

1 file changed

Lines changed: 40 additions & 23 deletions

File tree

apps/baseline/viewsets.py

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,19 @@ class LivelihoodStrategyViewSet(BaseModelViewSet):
880880
]
881881

882882

883+
LIVELIHOOD_ACTIVITY_ORDER_BY = [
884+
"livelihood_zone_baseline__livelihood_zone__code",
885+
"livelihood_zone_baseline__reference_year_end_date",
886+
"wealth_group__wealth_group_category__code",
887+
"strategy_type",
888+
"livelihood_strategy__season__name_en",
889+
"livelihood_strategy__product_id",
890+
"livelihood_strategy__additional_identifier",
891+
"wealth_group__community__full_name",
892+
"scenario",
893+
]
894+
895+
883896
class LivelihoodActivityFilterSet(filters.FilterSet):
884897
livelihood_strategy = django_filters.ModelChoiceFilter(
885898
queryset=LivelihoodStrategy.objects.select_related(
@@ -964,7 +977,7 @@ class LivelihoodActivityViewSet(BaseModelViewSet):
964977
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
965978
"wealth_group__community__livelihood_zone_baseline__source_organization",
966979
"wealth_group__wealth_group_category",
967-
)
980+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
968981
serializer_class = LivelihoodActivitySerializer
969982
filterset_class = LivelihoodActivityFilterSet
970983
search_fields = [
@@ -1047,7 +1060,7 @@ class BaselineLivelihoodActivityViewSet(BaseModelViewSet):
10471060
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
10481061
"wealth_group__community__livelihood_zone_baseline__source_organization",
10491062
"wealth_group__wealth_group_category",
1050-
)
1063+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
10511064
serializer_class = BaselineLivelihoodActivitySerializer
10521065
filterset_class = BaselineLivelihoodActivityFilterSet
10531066
search_fields = [
@@ -1130,7 +1143,7 @@ class ResponseLivelihoodActivityViewSet(BaseModelViewSet):
11301143
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
11311144
"wealth_group__community__livelihood_zone_baseline__source_organization",
11321145
"wealth_group__wealth_group_category",
1133-
)
1146+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
11341147
serializer_class = ResponseLivelihoodActivitySerializer
11351148
filterset_class = ResponseLivelihoodActivityFilterSet
11361149
search_fields = [
@@ -1216,7 +1229,7 @@ class MilkProductionViewSet(BaseModelViewSet):
12161229
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
12171230
"wealth_group__community__livelihood_zone_baseline__source_organization",
12181231
"wealth_group__wealth_group_category",
1219-
)
1232+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
12201233
serializer_class = MilkProductionSerializer
12211234
filterset_class = MilkProductionFilterSet
12221235
search_fields = [
@@ -1299,7 +1312,7 @@ class ButterProductionViewSet(BaseModelViewSet):
12991312
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
13001313
"wealth_group__community__livelihood_zone_baseline__source_organization",
13011314
"wealth_group__wealth_group_category",
1302-
)
1315+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
13031316
serializer_class = ButterProductionSerializer
13041317
filterset_class = ButterProductionFilterSet
13051318
search_fields = [
@@ -1383,7 +1396,7 @@ class MeatProductionViewSet(BaseModelViewSet):
13831396
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
13841397
"wealth_group__community__livelihood_zone_baseline__source_organization",
13851398
"wealth_group__wealth_group_category",
1386-
)
1399+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
13871400
serializer_class = MeatProductionSerializer
13881401
filterset_class = MeatProductionFilterSet
13891402
search_fields = [
@@ -1465,7 +1478,7 @@ class LivestockSaleViewSet(BaseModelViewSet):
14651478
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
14661479
"wealth_group__community__livelihood_zone_baseline__source_organization",
14671480
"wealth_group__wealth_group_category",
1468-
)
1481+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
14691482
serializer_class = LivestockSaleSerializer
14701483
filterset_class = LivestockSaleFilterSet
14711484
search_fields = [
@@ -1547,7 +1560,7 @@ class CropProductionViewSet(BaseModelViewSet):
15471560
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
15481561
"wealth_group__community__livelihood_zone_baseline__source_organization",
15491562
"wealth_group__wealth_group_category",
1550-
)
1563+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
15511564
serializer_class = CropProductionSerializer
15521565
filterset_class = CropProductionFilterSet
15531566
search_fields = [
@@ -1632,7 +1645,7 @@ class FoodPurchaseViewSet(BaseModelViewSet):
16321645
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
16331646
"wealth_group__community__livelihood_zone_baseline__source_organization",
16341647
"wealth_group__wealth_group_category",
1635-
)
1648+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
16361649
serializer_class = FoodPurchaseSerializer
16371650
filterset_class = FoodPurchaseFilterSet
16381651
search_fields = [
@@ -1718,7 +1731,7 @@ class PaymentInKindViewSet(BaseModelViewSet):
17181731
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
17191732
"wealth_group__community__livelihood_zone_baseline__source_organization",
17201733
"wealth_group__wealth_group_category",
1721-
)
1734+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
17221735
serializer_class = PaymentInKindSerializer
17231736
filterset_class = PaymentInKindFilterSet
17241737
search_fields = [
@@ -1802,7 +1815,7 @@ class ReliefGiftOtherViewSet(BaseModelViewSet):
18021815
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
18031816
"wealth_group__community__livelihood_zone_baseline__source_organization",
18041817
"wealth_group__wealth_group_category",
1805-
)
1818+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
18061819
serializer_class = ReliefGiftOtherSerializer
18071820
filterset_class = ReliefGiftOtherFilterSet
18081821
search_fields = [
@@ -1945,7 +1958,7 @@ class HuntingViewSet(BaseModelViewSet):
19451958
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
19461959
"wealth_group__community__livelihood_zone_baseline__source_organization",
19471960
"wealth_group__wealth_group_category",
1948-
)
1961+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
19491962
serializer_class = HuntingSerializer
19501963
filterset_class = HuntingFilterSet
19511964
search_fields = [
@@ -1966,7 +1979,7 @@ class FishingViewSet(BaseModelViewSet):
19661979
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
19671980
"wealth_group__community__livelihood_zone_baseline__source_organization",
19681981
"wealth_group__wealth_group_category",
1969-
)
1982+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
19701983
serializer_class = FishingSerializer
19711984
filterset_class = FishingFilterSet
19721985
search_fields = [
@@ -2048,7 +2061,7 @@ class WildFoodGatheringViewSet(BaseModelViewSet):
20482061
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
20492062
"wealth_group__community__livelihood_zone_baseline__source_organization",
20502063
"wealth_group__wealth_group_category",
2051-
)
2064+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
20522065
serializer_class = WildFoodGatheringSerializer
20532066
filterset_class = WildFoodGatheringFilterSet
20542067
search_fields = [
@@ -2136,7 +2149,7 @@ class OtherCashIncomeViewSet(BaseModelViewSet):
21362149
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
21372150
"wealth_group__community__livelihood_zone_baseline__source_organization",
21382151
"wealth_group__wealth_group_category",
2139-
)
2152+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
21402153
serializer_class = OtherCashIncomeSerializer
21412154
filterset_class = OtherCashIncomeFilterSet
21422155
search_fields = [
@@ -2222,7 +2235,7 @@ class OtherPurchaseViewSet(BaseModelViewSet):
22222235
"wealth_group__community__livelihood_zone_baseline__livelihood_zone__country",
22232236
"wealth_group__community__livelihood_zone_baseline__source_organization",
22242237
"wealth_group__wealth_group_category",
2225-
)
2238+
).order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
22262239
serializer_class = OtherPurchaseSerializer
22272240
filterset_class = OtherPurchaseFilterSet
22282241
search_fields = [
@@ -2647,13 +2660,17 @@ class LivelihoodActivitySummaryViewSet(AggregatingViewSet):
26472660
26482661
"""
26492662

2650-
queryset = LivelihoodActivity.objects.filter(wealth_group__community__isnull=True).select_related(
2651-
"livelihood_zone_baseline__livelihood_zone__country",
2652-
"livelihood_zone_baseline__source_organization",
2653-
"livelihood_zone_baseline__main_livelihood_category",
2654-
"wealth_group__wealth_group_category",
2655-
"livelihood_strategy__product",
2656-
"livelihood_strategy__season",
2663+
queryset = (
2664+
LivelihoodActivity.objects.filter(wealth_group__community__isnull=True)
2665+
.select_related(
2666+
"livelihood_zone_baseline__livelihood_zone__country",
2667+
"livelihood_zone_baseline__source_organization",
2668+
"livelihood_zone_baseline__main_livelihood_category",
2669+
"wealth_group__wealth_group_category",
2670+
"livelihood_strategy__product",
2671+
"livelihood_strategy__season",
2672+
)
2673+
.order_by(*LIVELIHOOD_ACTIVITY_ORDER_BY)
26572674
)
26582675
serializer_class = LivelihoodActivitySummarySerializer
26592676
filterset_class = LivelihoodActivityFilterSet

0 commit comments

Comments
 (0)