Commit e81e319f authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Fixed #20025 -- Pointed to a MySQLdb fork for Python 3.

Made a few minor compatibility adjustments.
parent 1fff8daf
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -405,8 +405,9 @@ class DatabaseWrapper(BaseDatabaseWrapper):
        kwargs = {
            'conv': django_conversions,
            'charset': 'utf8',
            'use_unicode': True,
        }
        if not six.PY3:
            kwargs['use_unicode'] = True
        settings_dict = self.settings_dict
        if settings_dict['USER']:
            kwargs['user'] = settings_dict['USER']
+2 −1
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ class DatabaseValidation(BaseDatabaseValidation):
        from django.db import models
        varchar_fields = (models.CharField, models.CommaSeparatedIntegerField,
                models.SlugField)
        if isinstance(f, varchar_fields) and f.max_length > 255 and f.unique:
        if (isinstance(f, varchar_fields) and f.unique
                and (f.max_length is None or int(f.max_length) > 255)):
            msg = '"%(name)s": %(cls)s cannot have a "max_length" greater than 255 when using "unique=True".'
            errors.add(opts, msg % {'name': f.name, 'cls': f.__class__.__name__})
+11 −2
Original line number Diff line number Diff line
@@ -252,6 +252,15 @@ required for full MySQL support in Django.

.. _MySQLdb: http://sourceforge.net/projects/mysql-python

Python 3
--------

At the time of writing, the latest release of MySQLdb (1.2.4) doesn't support
Python 3. In order to use MySQL under Python 3, you'll have to install an
unofficial fork, such as `MySQL-for-Python-3`_.

.. _MySQL-for-Python-3: https://github.com/clelland/MySQL-for-Python-3

Creating your database
----------------------

@@ -361,8 +370,8 @@ Here's a sample configuration which uses a MySQL option file::
    default-character-set = utf8

Several other MySQLdb connection options may be useful, such as ``ssl``,
``use_unicode``, ``init_command``, and ``sql_mode``. Consult the
`MySQLdb documentation`_ for more details.
``init_command``, and ``sql_mode``. Consult the `MySQLdb documentation`_ for
more details.

.. _MySQL option file: http://dev.mysql.com/doc/refman/5.0/en/option-files.html
.. _MySQLdb documentation: http://mysql-python.sourceforge.net/