diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-07-27 06:39:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-27 06:39:02 +0200 |
commit | f4e93919e4608cfc50849a1f764fd856e0917401 (patch) | |
tree | d80c18ab737ed40de0a29f84b426afb57480dbec /django/db/backends/postgresql/schema.py | |
parent | c1f8d87bb0ac72b213bf31e672bd34c93bda6b18 (diff) | |
download | django-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.py | 5 |
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) |