U
    àåf+  ã                   @   s   G d d„ dƒZ dS )c                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚBaseDatabaseValidationz(Encapsulate backend-specific validation.c                 C   s
   || _ d S ©N)Ú
connection)Úselfr   © r   úF/tmp/pip-unpacked-wheel-_jot26k8/django/db/backends/base/validation.pyÚ__init__   s    zBaseDatabaseValidation.__init__c                 K   s   g S r   r   )r   Úkwargsr   r   r   Úcheck   s    zBaseDatabaseValidation.checkc                    sd   g }t ˆ dƒr`t|dd ƒs`t‡ fdd„|jjjD ƒƒ}|r`| ˆ j¡}|d k	r`| ˆ  	||¡¡ |S )NÚcheck_field_typeZremote_fieldc                 3   s   | ]}t ˆ jj|d ƒV  qdS )FN)Úgetattrr   Úfeatures)Ú.0Zfeature©r   r   r   Ú	<genexpr>   s   ÿz5BaseDatabaseValidation.check_field.<locals>.<genexpr>)
Úhasattrr   ÚallÚmodelZ_metaZrequired_db_featuresZdb_typer   Úextendr
   )r   Úfieldr   ÚerrorsZ!db_supports_all_required_featuresZ
field_typer   r   r   Úcheck_field
   s    ÿ
üþz"BaseDatabaseValidation.check_fieldN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r   r   r   r   r   r      s   r   N)r   r   r   r   r   Ú<module>   ó    