diff --git a/opentech/public/projects/models.py b/opentech/public/projects/models.py index 9dc4f6dac0c4d65d81d35b48e6a3dd4b00e6f7fe..e2a2b83074a88ad42b4523fb08e00e467eaa8cd9 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 b91bfcbe29519ced17fbcff63fbcc4ce8526a037..8b0b2c2b17fb83cbce281da77f8530bcae68f39e 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']),