

_V8                 @   s:   d  d l  m Z d  d l m Z Gd d   d e  Z d S)    )checks)BaseDatabaseValidationc                   s"   e  Z d  Z   f d d   Z   S)DatabaseValidationc          	      s   d d l  m } t t |   j | |  } t | d d  d k r | j |  } | d k rb | S| j d  r | j r | j	 d k s t
 | j	  d k r | j t j d d d d	 | d
 d  q n  | S)z
        MySQL has the following field length restriction:
        No character (varchar) fields can have a length exceeding 255
        characters if they have a unique index on them.
        r   )
connectionZremote_fieldNZvarchar   zBMySQL does not allow unique CharFields to have a max_length > 255.Zhintobjidz
mysql.E001)Z	django.dbr   superr   check_fieldgetattrZdb_type
startswithunique
max_lengthintappendr   Error)selffieldkwargsr   errorsZ
field_type)	__class__ E/tmp/pip-build-ghmbqnp_/Django/django/db/backends/mysql/validation.pyr
      s     	$zDatabaseValidation.check_field)__name__
__module____qualname__r
   r   r   )r   r   r      s   r   N)Zdjango.corer   Z"django.db.backends.base.validationr   r   r   r   r   r   <module>   s   