Convert all files to using Unicode strings.
Review Request #9564 — Created Feb. 1, 2018 and submitted — Latest diff uploaded
Most of Django Evolution used standard Python 2 byte strings, which
prevented compatibility with Python 3 due to a series of assumptions
about string formats. These came into play primarily when hashing values
for index names (which resulted in different hashes for Unicode vs. byte
strings).This change adds the
unicode_literals
import at the top of every file,
and updatestests/utils.py
to force usage of byte strings for values
coming from the database test modules that would normally be byte
strings if coming from Django models, and to updatemock_models.py
to
convert field names to byte strings (for the same reason).
Unit tests pass on Django 1.6 through 1.11 with SQLite, Postgres,
and MySQL.