Skip to content

Commit 0c055c6

Browse files
abrookinsclaude
andcommitted
Fix datetime field handling in NUMERIC queries
This addresses the datetime field indexing issue by converting datetime and date objects to timestamps in NUMERIC query expressions. This ensures proper query functionality when searching on datetime fields that are indexed as NUMERIC fields. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 9eaf012 commit 0c055c6

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

aredis_om/model/model.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,6 +1301,15 @@ def resolve_value(
13011301
f"Docs: {ERRORS_URL}#E5"
13021302
)
13031303
elif field_type is RediSearchFieldTypes.NUMERIC:
1304+
# Convert datetime objects to timestamps for NUMERIC queries
1305+
if isinstance(value, (datetime.datetime, datetime.date)):
1306+
if isinstance(value, datetime.date) and not isinstance(
1307+
value, datetime.datetime
1308+
):
1309+
# Convert date to datetime at midnight
1310+
value = datetime.datetime.combine(value, datetime.time.min)
1311+
value = value.timestamp()
1312+
13041313
if op is Operators.EQ:
13051314
result += f"@{field_name}:[{value} {value}]"
13061315
elif op is Operators.NE:

0 commit comments

Comments
 (0)