Skip to content

Commit 6beed14

Browse files
committed
fix JSONField negative indexing
1 parent bacff6d commit 6beed14

File tree

1 file changed

+6
-1
lines changed
  • django_mongodb_backend/fields

1 file changed

+6
-1
lines changed

django_mongodb_backend/fields/json.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ def build_json_mql_path(lhs, key_transforms, as_expr=False):
3636
get_field = {"$getField": {"input": result, "field": key}}
3737
# Handle array indexing if the key is a digit. If key is something
3838
# like '001', it's not an array index despite isdigit() returning True.
39-
if key.isdigit() and str(int(key)) == key:
39+
try:
40+
int(key)
41+
is_digit = str(int(key)) == key
42+
except ValueError:
43+
is_digit = False
44+
if is_digit:
4045
result = {
4146
"$cond": {
4247
"if": {"$isArray": result},

0 commit comments

Comments
 (0)