
    vd-
                         d dl Z e j        dk    rd dlmZ nd dlmZ e j        dk     rd dlmZ nd dlmZ d dlm	Z	  G d d	e          Z
dS )
    N)      )BaseDatabaseValidationr      )models)checks)
connectionc                   B     e Zd Zej        dk     rd Z xZS  fdZ xZS )DatabaseValidationr   c                     t           j        t           j        t           j        f}t	          ||          rA|j        dk    r8|j        r3d}|                    |||j        |j	        j
        dz             dS dS dS dS )
            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.
               zY"%(name)s": %(cls)s cannot have a "max_length" greater than 255 when using "unique=True".)nameclsN)r   	CharFieldCommaSeparatedIntegerField	SlugField
isinstance
max_lengthuniqueaddr   	__class____name__)selferrorsoptsfvarchar_fieldsmsgs         ]/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/mysql/connector/django/validation.pyvalidate_fieldz!DatabaseValidation.validate_field   s     %.$?$.0N !^,, F1C1C1C<

4/0{/C(E (E "E F F F F FF F1C1C1C1C    c                 t    t          t          |           j        |fi |}t          |dd          |                    t
                    }||S |                    d          rQ|j        rJ|j        t          |j                  dk    r+|
                    t          j        dd|d                     |S )r   relNvarcharr   zBMySQL does not allow unique CharFields to have a max_length > 255.z
mysql.E001)hintobjid)superr   check_fieldgetattrdb_typer
   
startswithr   r   intappendr	   Error)r   fieldkwargsr   
field_typer   s        r!   r+   zDatabaseValidation.check_field#   s     AU-t44@ K KCIK KF ueT**2"]]:66
%!M)))44 !L"-5%()9%:%:S%@%@MM1!% %+     Mr#   )r   
__module____qualname__djangoVERSIONr"   r+   __classcell__)r   s   @r!   r   r      so        ~	F 	F 	F 	F 	F 	F 	F 	 	 	 	 	 	 	 	 	r#   r   )r7   r8   "django.db.backends.base.validationr   django.db.backends	django.dbr   django.corer	   r
   r    r#   r!   <module>r?      s    	>VIIIIIII999999	>F       """"""$$$$$$0 0 0 0 0/ 0 0 0 0 0r#   