From 84e2f4d626c0eae4bd298da6266921f27376f7e3 Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Fri, 24 Feb 2017 16:49:54 -0500 Subject: [PATCH] avoid duplicated related search fields --- awx/api/generics.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/awx/api/generics.py b/awx/api/generics.py index d906fbffbc..fca4ce3582 100644 --- a/awx/api/generics.py +++ b/awx/api/generics.py @@ -285,17 +285,17 @@ class ListAPIView(generics.ListAPIView, GenericAPIView): name.startswith('deprecated_') or name.endswith('_set') or name == 'polymorphic_ctype') - fields = [] + fields = set([]) for field in self.model._meta.fields: if skip_related_name(field.name): continue if getattr(field, 'related_model', None): - fields.append('{}__search'.format(field.name)) + fields.add('{}__search'.format(field.name)) for rel in self.model._meta.related_objects: name = rel.related_model._meta.verbose_name.replace(" ", "_") if skip_related_name(name): continue - fields.append('{}__search'.format(name)) + fields.add('{}__search'.format(name)) m2m_rel = [] m2m_rel += self.model._meta.local_many_to_many if issubclass(self.model, UnifiedJobTemplate) and self.model != UnifiedJobTemplate: @@ -307,7 +307,8 @@ class ListAPIView(generics.ListAPIView, GenericAPIView): continue if relationship.related_model._meta.app_label != 'main': continue - fields.append('{}__search'.format(relationship.name)) + fields.add('{}__search'.format(relationship.name)) + fields = list(fields) allowed_fields = [] for field in fields: