google / google/python-spanner-orm

`find`, `find_multi` don't work for unordered composite keys

Open
#192 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
41
Forks
17
PR merge metrics
No merged PRs in 30d

Description

Didn't see it anywhere in the docs, so filing this as a bug

When you declare a model with more than one primary key, say

```
class FooModel(spanner_orm.Model):
__table__ = "products"
bar = spanner_orm.Field(spanner_orm.String(), primary_key=True)
baz = spanner_orm.Field(spanner_orm.String(), primary_key=True)
```

If the table's schema is defined having the column `baz` before `bar`, `find_multi` (and therefore also `find`) won't work properly, as the keyset is compound in different order (ie: `Product.find(bar="123", baz="456")` will instead do `Product.find(baz="123", bar="456")`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.