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 для использования системной локали по умолчанию)