Use singular names for M2M field filters

This commit is contained in:
Jeremy Stretch
2024-03-06 15:41:16 -05:00
parent 5552f2a7dd
commit 40a654b21e
3 changed files with 48 additions and 40 deletions

View File

@@ -89,10 +89,12 @@ class EventRuleFilterSet(NetBoxModelFilterSet):
method='search',
label=_('Search'),
)
object_types_id = MultiValueNumberFilter(
object_type_id = MultiValueNumberFilter(
field_name='object_types__id'
)
object_types = ContentTypeFilter()
object_type = ContentTypeFilter(
field_name='object_types'
)
action_type = django_filters.MultipleChoiceFilter(
choices=EventRuleActionChoices
)
@@ -124,10 +126,10 @@ class CustomFieldFilterSet(BaseFilterSet):
type = django_filters.MultipleChoiceFilter(
choices=CustomFieldTypeChoices
)
object_types_id = MultiValueNumberFilter(
object_type_id = MultiValueNumberFilter(
field_name='object_types__id'
)
object_types = ContentTypeFilter(
object_type = ContentTypeFilter(
field_name='object_types'
)
choice_set_id = django_filters.ModelMultipleChoiceFilter(
@@ -142,8 +144,8 @@ class CustomFieldFilterSet(BaseFilterSet):
class Meta:
model = CustomField
fields = [
'id', 'object_types', 'name', 'group_name', 'required', 'search_weight', 'filter_logic', 'ui_visible',
'ui_editable', 'weight', 'is_cloneable', 'description',
'id', 'name', 'group_name', 'required', 'search_weight', 'filter_logic', 'ui_visible', 'ui_editable',
'weight', 'is_cloneable', 'description',
]
def search(self, queryset, name, value):
@@ -190,15 +192,17 @@ class CustomLinkFilterSet(BaseFilterSet):
method='search',
label=_('Search'),
)
object_types_id = MultiValueNumberFilter(
object_type_id = MultiValueNumberFilter(
field_name='object_types__id'
)
object_types = ContentTypeFilter()
object_type = ContentTypeFilter(
field_name='object_types'
)
class Meta:
model = CustomLink
fields = [
'id', 'object_types', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window',
'id', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window',
]
def search(self, queryset, name, value):
@@ -217,10 +221,12 @@ class ExportTemplateFilterSet(BaseFilterSet):
method='search',
label=_('Search'),
)
object_types_id = MultiValueNumberFilter(
object_type_id = MultiValueNumberFilter(
field_name='object_types__id'
)
object_types = ContentTypeFilter()
object_type = ContentTypeFilter(
field_name='object_types'
)
data_source_id = django_filters.ModelMultipleChoiceFilter(
queryset=DataSource.objects.all(),
label=_('Data source (ID)'),
@@ -232,7 +238,7 @@ class ExportTemplateFilterSet(BaseFilterSet):
class Meta:
model = ExportTemplate
fields = ['id', 'object_types', 'name', 'description', 'data_synced']
fields = ['id', 'name', 'description', 'data_synced']
def search(self, queryset, name, value):
if not value.strip():
@@ -248,10 +254,12 @@ class SavedFilterFilterSet(BaseFilterSet):
method='search',
label=_('Search'),
)
object_types_id = MultiValueNumberFilter(
object_type_id = MultiValueNumberFilter(
field_name='object_types__id'
)
object_types = ContentTypeFilter()
object_type = ContentTypeFilter(
field_name='object_types'
)
user_id = django_filters.ModelMultipleChoiceFilter(
queryset=get_user_model().objects.all(),
label=_('User (ID)'),
@@ -268,7 +276,7 @@ class SavedFilterFilterSet(BaseFilterSet):
class Meta:
model = SavedFilter
fields = ['id', 'object_types', 'name', 'slug', 'description', 'enabled', 'shared', 'weight']
fields = ['id', 'name', 'slug', 'description', 'enabled', 'shared', 'weight']
def search(self, queryset, name, value):
if not value.strip():