У меня есть модель Django с JSONField для обработки многоязычного текста следующим образом:
from django.contrib.postgres.fields import JSONField
def default_language_JSON():
content = {}
for lang in settings.LANGUAGES:
content[lang[0]] = ''
return content
class Entity(PolymorphicModel, ShowFieldType):
displayedNames = JSONField(
null = True,
blank = True,
verbose_name=_('Displayed names'),
help_text= _('These names are usually created automatically'),
default = default_language_JSON
)
...
Когда я пытаюсь сбросить данные с помощью:
python3 manage.py dumpdata --natural-foreign --indent 4 --format=xml --verbosity 1 -o Database.xml
Я получаю ошибку:
CommandError: Unable to serialize database: expected string or bytes-like object
Я полагаю, это может быть связано с тем, как JSONField сериализуется, и я подозреваю, что ответом может быть кодировщик, который следует использовать (как описано в документации )
Если я пытаюсь вывести данные в JSON или YAML, такая ошибка не появляется.
Я использую Django 2.1.4 в Ubuntu 16.04 с PostgreSQL 9.5
Есть идеи?