Răsfoiți Sursa

Refactor ChangeLoggedModelFilterSet

jeremystretch 4 ani în urmă
părinte
comite
28de9b8913
1 a modificat fișierele cu 28 adăugiri și 20 ștergeri
  1. 28 20
      netbox/netbox/filtersets.py

+ 28 - 20
netbox/netbox/filtersets.py

@@ -23,6 +23,31 @@ __all__ = (
 )
 
 
+#
+# Mixins
+#
+
+class ChangeLoggedModelMixin:
+    created = django_filters.DateFilter()
+    created__gte = django_filters.DateFilter(
+        field_name='created',
+        lookup_expr='gte'
+    )
+    created__lte = django_filters.DateFilter(
+        field_name='created',
+        lookup_expr='lte'
+    )
+    last_updated = django_filters.DateTimeFilter()
+    last_updated__gte = django_filters.DateTimeFilter(
+        field_name='last_updated',
+        lookup_expr='gte'
+    )
+    last_updated__lte = django_filters.DateTimeFilter(
+        field_name='last_updated',
+        lookup_expr='lte'
+    )
+
+
 #
 # FilterSets
 #
@@ -196,28 +221,11 @@ class BaseFilterSet(django_filters.FilterSet):
         return filters
 
 
-class ChangeLoggedModelFilterSet(BaseFilterSet):
-    created = django_filters.DateFilter()
-    created__gte = django_filters.DateFilter(
-        field_name='created',
-        lookup_expr='gte'
-    )
-    created__lte = django_filters.DateFilter(
-        field_name='created',
-        lookup_expr='lte'
-    )
-    last_updated = django_filters.DateTimeFilter()
-    last_updated__gte = django_filters.DateTimeFilter(
-        field_name='last_updated',
-        lookup_expr='gte'
-    )
-    last_updated__lte = django_filters.DateTimeFilter(
-        field_name='last_updated',
-        lookup_expr='lte'
-    )
+class ChangeLoggedModelFilterSet(ChangeLoggedModelMixin, BaseFilterSet):
+    pass
 
 
-class PrimaryModelFilterSet(ChangeLoggedModelFilterSet):
+class PrimaryModelFilterSet(ChangeLoggedModelMixin, BaseFilterSet):
     tag = TagFilter()
 
     def __init__(self, *args, **kwargs):