diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index 3ddf252c7..a109b2c70 100644 --- a/netbox/netbox/filtersets.py +++ b/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):