Compare commits
2 Commits
31a3c6e29a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e59779610 | ||
|
|
7dddad00fc |
@@ -322,12 +322,28 @@ class TranslatableField(serializers.Field):
|
|||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
return data
|
return data
|
||||||
else:
|
else:
|
||||||
|
# Try to parse as JSON dict (e.g. from multipart form data)
|
||||||
|
if isinstance(data, str):
|
||||||
|
try:
|
||||||
|
parsed = json.loads(data)
|
||||||
|
if isinstance(parsed, dict):
|
||||||
|
return parsed
|
||||||
|
except (json.JSONDecodeError, ValueError):
|
||||||
|
pass
|
||||||
return {language: str(data)}
|
return {language: str(data)}
|
||||||
else:
|
else:
|
||||||
# No language: expect full translation dict or assume English
|
# No language: expect full translation dict or assume English
|
||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
return data
|
return data
|
||||||
else:
|
else:
|
||||||
|
# Try to parse as JSON dict (e.g. from multipart form data)
|
||||||
|
if isinstance(data, str):
|
||||||
|
try:
|
||||||
|
parsed = json.loads(data)
|
||||||
|
if isinstance(parsed, dict):
|
||||||
|
return parsed
|
||||||
|
except (json.JSONDecodeError, ValueError):
|
||||||
|
pass
|
||||||
return {'en': str(data)}
|
return {'en': str(data)}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user