1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Automatically add additional lookup filters for custom fields

This commit is contained in:
jeremystretch
2021-10-28 16:09:36 -04:00
parent 7c60089692
commit 2e0f15b35f
2 changed files with 22 additions and 5 deletions

View File

@ -309,13 +309,17 @@ class CustomField(ChangeLoggedModel):
return field
def to_filter(self):
def to_filter(self, lookup_expr=None):
"""
Return a django_filters Filter instance suitable for this field type.
:param lookup_expr: Custom lookup expression (optional)
"""
kwargs = {
'field_name': f'custom_field_data__{self.name}'
}
if lookup_expr is not None:
kwargs['lookup_expr'] = lookup_expr
# Text/URL
if self.type in (
@ -354,7 +358,10 @@ class CustomField(ChangeLoggedModel):
else:
return None
return filter_class(**kwargs)
filter_instance = filter_class(**kwargs)
filter_instance.custom_field = self
return filter_instance
def validate(self, value):
"""