mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
Merge pull request #7166 from AlanCoding/reverse_fk_search
Correct search terms for reverse FK fields
This commit is contained in:
commit
cf967d244b
@ -10,6 +10,7 @@ import time
|
||||
from django.conf import settings
|
||||
from django.db import connection
|
||||
from django.db.models.fields import FieldDoesNotExist
|
||||
from django.db.models.fields.related import OneToOneRel
|
||||
from django.http import QueryDict
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.template.loader import render_to_string
|
||||
@ -350,8 +351,11 @@ class ListAPIView(generics.ListAPIView, GenericAPIView):
|
||||
if getattr(field, 'related_model', None):
|
||||
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):
|
||||
name = rel.related_name
|
||||
if isinstance(rel, OneToOneRel) and self.model._meta.verbose_name.startswith('unified'):
|
||||
# Add underscores for polymorphic subclasses for user utility
|
||||
name = rel.related_model._meta.verbose_name.replace(" ", "_")
|
||||
if skip_related_name(name) or name.endswith('+'):
|
||||
continue
|
||||
fields.add('{}__search'.format(name))
|
||||
m2m_rel = []
|
||||
|
||||
@ -13,9 +13,10 @@ from awx.api.generics import (
|
||||
ParentMixin,
|
||||
SubListCreateAttachDetachAPIView, SubListAttachDetachAPIView,
|
||||
DeleteLastUnattachLabelMixin,
|
||||
ResourceAccessList
|
||||
ResourceAccessList,
|
||||
ListAPIView
|
||||
)
|
||||
from awx.main.models import Organization
|
||||
from awx.main.models import Organization, Credential
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@ -263,3 +264,9 @@ class TestResourceAccessList:
|
||||
with mocker.patch('awx.main.access.BaseAccess.can_read', mock_access):
|
||||
self.mock_view().check_permissions(self.mock_request())
|
||||
mock_access.assert_called_once_with(mock_organization)
|
||||
|
||||
|
||||
def test_related_search_reverse_FK_field():
|
||||
view = ListAPIView()
|
||||
view.model = Credential
|
||||
assert 'jobtemplates__search' in view.related_search_fields
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user