Fix: Query Filter Date Comparisons Are Off By One Date (#2389)

* fixed erroneous date -> datetime conversion

* added tests for date and datetime bounds
This commit is contained in:
Michael Genson
2023-05-12 01:28:14 -05:00
committed by GitHub
parent 5d87b7e411
commit 8e2d50054c
2 changed files with 180 additions and 7 deletions

View File

@@ -177,7 +177,8 @@ class QueryFilterComponent:
if isinstance(model_attr_type, sqltypes.Date | sqltypes.DateTime):
try:
sanitized_values[i] = date_parser.parse(v)
dt = date_parser.parse(v)
sanitized_values[i] = dt.date() if isinstance(model_attr_type, sqltypes.Date) else dt
except ParserError as e:
raise ValueError(f"invalid query string: unknown date or datetime format '{v}'") from e