attempt to properly map more foreign keys to named lookups

this is imperfect, but it's at least an improvement until we can come up
with a better solution

in order to really do this right, the API itself probably needs to grow
some more metadata that allows us to specify *actual* `type`s that
relate to API resources

see: https://github.com/ansible/awx/issues/4874
This commit is contained in:
Ryan Petrello 2019-10-03 12:07:43 -04:00
parent 0e2b7767f5
commit fccd6a2286
No known key found for this signature in database
GPG Key ID: F2AA5F2122351777

View File

@ -40,6 +40,11 @@ def pk_or_name(v2, model_name, value, page=None):
if model_name in UNIQUENESS_RULES:
identity = UNIQUENESS_RULES[model_name][-1]
# certain related fields follow a pattern of <foo>_<model> e.g.,
# insights_credential, target_credential etc...
if not page and '_' in model_name:
return pk_or_name(v2, model_name.split('_')[-1], value, page)
if page:
results = page.get(**{identity: value})
if results.count == 1: