app/django/db/backends/mysql/validation.py
author Sverre Rabbelier <srabbelier@gmail.com>
Tue, 25 Nov 2008 17:19:37 +0000
changeset 586 a4a36b06a870
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Make the sidebar dynamic depending on the user's rights This is done by doing the usual access checks that are also called when the user actually visits the page.

from django.db.backends import BaseDatabaseValidation

class DatabaseValidation(BaseDatabaseValidation):
    def validate_field(self, errors, opts, f):
        "Prior to MySQL 5.0.3, character fields could not exceed 255 characters"
        from django.db import models
        from django.db import connection
        db_version = connection.get_server_version()
        if db_version < (5, 0, 3) and isinstance(f, (models.CharField, models.CommaSeparatedIntegerField, models.SlugField)) and f.max_length > 255:
            errors.add(opts,
                '"%s": %s cannot have a "max_length" greater than 255 when you are using a version of MySQL prior to 5.0.3 (you are using %s).' % 
                (f.name, f.__class__.__name__, '.'.join([str(n) for n in db_version[:3]])))