From 7dddad00fcc3c715804016b848b39497d8a5367c Mon Sep 17 00:00:00 2001 From: Holger Sielaff Date: Tue, 24 Feb 2026 12:30:33 +0100 Subject: [PATCH] oh mann ... --- django_translatable_fields/serializers.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/django_translatable_fields/serializers.py b/django_translatable_fields/serializers.py index 745dd9b..6e1183d 100644 --- a/django_translatable_fields/serializers.py +++ b/django_translatable_fields/serializers.py @@ -322,12 +322,28 @@ class TranslatableField(serializers.Field): if isinstance(data, dict): return data 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)} else: # No language: expect full translation dict or assume English if isinstance(data, dict): return data 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)}