googleapis / googleapis/google-cloud-python
IN operator with `__key__` property does not work
- Lingua principale
- Python
- Stelle
- 5.4k
- Fork
- 1.8k
- Merge medio
- 3g 4h
- PR unite (30g)
- 122
Descrizione
Hello,
Sorry I'm not 100% if this should be a bug report or a feature request, but since the IN operator is working on the Datastore UI on the GCP Console I'm guessing it's a bug.
#### Environment details
I'm not allowed to share those, but I don't think it matters in this case
- OS type and version:
- Python version: `python --version`
- pip version: `pip --version`
- `google-cloud-datastore` version: `pip show google-cloud-datastore`
#### Steps to reproduce
1. Try to execute a query on the `__key__` property with the IN operator
2. Error : `ValueError: Invalid key: "[, ]"`
#### Code example
```python
query = client.query(kind=kind)
query.add_filter("__key__", "IN", [client.key(kind, key), client.key(kind, key2)])
```
#### Stack trace
```
# example
```
Sorry I'm not allowed to share the whole stack trace, but I investigated a bit and it seems to come from this condition :
```
if property_name == KEY_PROPERTY_NAME and not isinstance(value, Key):
raise ValueError('Invalid key: "%s"' % value)
```
In case `value` is a `List`, it should check that all elements from the list are Keys instead of raising an error
Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.