Skip to content

Commit eca10ae

Browse files
committed
fix JSONField negative indexing
1 parent f602a7d commit eca10ae

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
@@ -24,7 +24,12 @@ def build_json_mql_path(lhs, key_transforms):
2424
get_field = {"$getField": {"input": result, "field": key}}
2525
# Handle array indexing if the key is a digit. If key is something
2626
# like '001', it's not an array index despite isdigit() returning True.
27-
if key.isdigit() and str(int(key)) == key:
27+
try:
28+
int(key)
29+
is_digit = str(int(key)) == key
30+
except ValueError:
31+
is_digit = False
32+
if is_digit:
2833
result = {
2934
"$cond": {
3035
"if": {"$isArray": result},

0 commit comments

Comments
 (0)