Correct query return types #4
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes:
Fix client query_and_return return type.
Client has no knowledge of what the return type is or should be. Fixed
to return
RealDictRow
& removed the T TypeVar from sync_client.Fix CRUD method return types.
Previously, the built-in methods on the CRUD objects were returning the
raw data from the Client's
execute_and_return()
method, of typeRealDictRow
frompsycopg2.extras
. Now each CRUD object also requiresa return type object of type
Type[T]
to be passed as a second argumenton initialization, which is then used to initialize a return type object
from the db query results (i.e. an instance of
ModelData
) to bereturned.
Also generalizes
model.base.ensure_exactly_one()
to accept any listobject.