Fixes #2781: Fixes filter by regions on site and device list

This commit is contained in:
dansheps
2019-02-27 11:39:25 -06:00
parent beff774295
commit f2471aedb2
2 changed files with 19 additions and 7 deletions

View File

@@ -4,6 +4,15 @@ from django.db.models import Q
from taggit.models import Tag
class TreeNodeMultipleChoiceFilter(django_filters.ModelMultipleChoiceFilter):
"""
Filters for a set of Models, including all descendant models within a Tree. Example: [<Region: R1>,<Region: R2>]
"""
def filter(self, qs, value):
value = [node.get_descendants(include_self=True) for node in value]
return super().filter(qs, value)
class NumericInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
"""
Filters for a set of numeric values. Example: id__in=100,200,300