Django: Не удается выполнить команду dumpdata программно

Я хочу запускать команду django dumpdata программно, однако

from django.core.management import call_command
call_command('dumpdata', 'asdf', indent=2, output=filePath)

не работает с Unable to serialize database: 'ascii' codec can't encode character '\xdf' in position 83: ordinal not in range(128).

запуск python3 manage.py dumpdata --indent=2 --output=dump.json.gz asdf из командной строки работает нормально!

почему он не работает с call_command()?


  • версия python: 3.6.9
  • django version: 3.2.13
  • $LANG установлена на en_US.UTF-8
  • $LC_ALL установлено на en_US.UTF-8
  • $LC_CTYPE установлен на UTF-8

решение: пришлось обновить конфигурацию веб-сервера, чтобы использовать правильную локаль. (в моем случае редактирование /etc/apache2/envvars для использования системной локали по умолчанию)

Вернуться на верх