Fix bugs #108, #254, #499 for 1.0 release #792
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.
Summary
This PR fixes three bugs identified for the 1.0 release:
Bug Fixes
#108 - Enum with int values produces wrong query syntax
Enum(notIntEnum) with int values in queries, the query would produce incorrect syntax like@status:[Status.ACTIVE Status.ACTIVE]instead of@status:[2 2].valuefrom Enum objects inresolve_value()for NUMERIC fields#499 - IN operator doesn't work for NUMERIC fields
<<) only worked for TAG fields, not NUMERIC fields(@field:[v1 v1])|(@field:[v2 v2])#254 - Optional field retrieval breaks HashModel
Noneas empty string""because Redis HSET requires non-null valuesfloat), causing ValidationErrorconvert_empty_strings_to_none()that converts empty strings back toNonefor Optional fieldsChanges
aredis_om/model/model.py: Core fixes for all three bugstests/test_bug_fixes.py: New test file with 6 tests covering all fixesTesting
All 480 tests pass.
Closes #108
Closes #254
Closes #499