From 63a53a947dfa83a929a1bf2a8e730b3a36d8b5b3 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Fri, 19 Jan 2018 12:53:11 +0000 Subject: [PATCH] Make the ordering consistent across backend and frontend --- opentech/public/projects/models.py | 2 +- opentech/public/projects/widgets.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opentech/public/projects/models.py b/opentech/public/projects/models.py index 9dc4f6dac..e2a2b8307 100644 --- a/opentech/public/projects/models.py +++ b/opentech/public/projects/models.py @@ -135,7 +135,7 @@ class ProjectPage(FundingMixin, BasePage): def category_options(self): categories = json.loads(self.categories) options = [int(id) for options in categories.values() for id in options] - return Option.objects.select_related().filter(id__in=options).order_by('category') + return Option.objects.select_related().filter(id__in=options).order_by('category_id', 'sort_order') class ProjectIndexPage(BasePage): diff --git a/opentech/public/projects/widgets.py b/opentech/public/projects/widgets.py index b91bfcbe2..8b0b2c2b1 100644 --- a/opentech/public/projects/widgets.py +++ b/opentech/public/projects/widgets.py @@ -21,7 +21,7 @@ class LazyWidgets: self.widget = widget def __iter__(self): - for obj in self.model.objects.all(): + for obj in self.model.objects.order_by('id'): yield self.widget( attrs={'id': obj.id, 'label_tag': obj.name}, choices=LazyChoices(obj.options, ['id', 'value']), -- GitLab