summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/schema.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-07-27 06:39:02 +0200
committerGitHub <noreply@github.com>2020-07-27 06:39:02 +0200
commitf4e93919e4608cfc50849a1f764fd856e0917401 (patch)
treed80c18ab737ed40de0a29f84b426afb57480dbec /django/db/backends/postgresql/schema.py
parentc1f8d87bb0ac72b213bf31e672bd34c93bda6b18 (diff)
downloaddjango-f4e93919e4608cfc50849a1f764fd856e0917401.tar.gz
Fixed #31815 -- Fixed schema value encoding on PostgreSQL.
Diffstat (limited to 'django/db/backends/postgresql/schema.py')
-rw-r--r--django/db/backends/postgresql/schema.py5
1 files changed, 4 insertions, 1 deletions
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)