У меня есть приложение django, использующее pyodbc для общения с базой данных MS SQL Server с кодировкой Latin1_General_CI_AI. (Я не имею никакого контроля над этой базой данных и не может изменить кодировку.)Django pyodbc Latin1_General_CI_AI encoding
Проблема заключается в том, что каждая строка происходит из Джанго -> pyodbc должен быть закодирован:
Например:
m = MyModel()
m.foo = 'foo' # Garbage characters are saved
m.foo = 'foo'.encode('latin1') # String is saved correctly
m.save()
Вторая проблема заключается в том, что строки запроса также должны быть закодированы:
MyModel.objects.get(name=name) # fails
MyModel.objects.get(name=name.encode('latin1')) # works
Есть ли более общий способ, с помощью которого я могу справиться? Либо модель mixin, либо бэкэнд БД? Я вижу места в SQLCompiler Django, но не знаю, как это повлиять на него.