From f4e93919e4608cfc50849a1f764fd856e0917401 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Mon, 27 Jul 2020 06:39:02 +0200 Subject: Fixed #31815 -- Fixed schema value encoding on PostgreSQL. --- django/db/backends/postgresql/schema.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'django/db/backends/postgresql/schema.py') diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py index 7687c37fe7..e77915b3b1 100644 --- a/django/db/backends/postgresql/schema.py +++ b/django/db/backends/postgresql/schema.py @@ -38,8 +38,11 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): def quote_value(self, value): if isinstance(value, str): value = value.replace('%', '%%') + adapted = psycopg2.extensions.adapt(value) + if hasattr(adapted, 'encoding'): + adapted.encoding = 'utf8' # getquoted() returns a quoted bytestring of the adapted value. - return psycopg2.extensions.adapt(value).getquoted().decode() + return adapted.getquoted().decode() def _field_indexes_sql(self, model, field): output = super()._field_indexes_sql(model, field) -- cgit v1.2.1