Fix values list subquery
Without the included fix, the test that's added here fails like this:
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2649, in to_python
return uuid.UUID(**{input_form: value})
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/uuid.py", line 174, in __init__
hex = hex.replace('urn:', '').replace('uuid:', '')
AttributeError: 'list' object has no attribute 'replace'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/tests/test_subqueries.py", line 31, in test_sub_query_with_values_list
self.assertEqual(list(queryset), [points_at_1])
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/query.py", line 394, in __iter__
self._fetch_all()
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/query.py", line 1866, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/query.py", line 87, in __iter__
results = compiler.execute_sql(
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1382, in execute_sql
sql, params = self.as_sql()
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/datastore/compiler.py", line 39, in as_sql
select = SelectCommand(self.connection, self.query)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/datastore/commands.py", line 258, in __init__
self.query = transform_query(connection, query)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/query.py", line 670, in transform_query
return _get_parser(query, connection).get_transformed_query()
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/parsers/base.py", line 388, in get_transformed_query
output = self._generate_where_node(ret)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/parsers/base.py", line 317, in _generate_where_node
_walk_django_where(
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/parsers/base.py", line 69, in _walk_django_where
walk_node(query.where, **kwargs)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/parsers/base.py", line 59, in walk_node
leaf_callback(child, **new_kwargs)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/gcloudc/db/backends/common/parsers/base.py", line 287, in _where_node_leaf_callback
rhs = node.get_db_prep_lookup(rhs, connection)[-1]
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/lookups.py", line 252, in get_db_prep_lookup
[get_db_prep_value(v, connection, prepared=True) for v in value]
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/lookups.py", line 252, in <listcomp>
[get_db_prep_value(v, connection, prepared=True) for v in value]
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2639, in get_db_prep_value
value = self.to_python(value)
File "/Users/adamalton/Sites/gitlab/django-gcloud-connectors/.venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py", line 2651, in to_python
raise exceptions.ValidationError(
django.core.exceptions.ValidationError: ["“[UUID('e1ee2561-0013-43ff-b5ff-ef3a2b7f3fff')]” is not a valid UUID."]
Edited by Adam Alton