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