
vลฯ^  ใ               @   s   Gd  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   ๚D/tmp/pip-build-8lau8j11/django/django/db/backends/base/validation.pyฺ__init__   s    zBaseDatabaseValidation.__init__c             K   s   g  S)Nr   )r   ฺkwargsr   r   r   ฺcheck   s    zBaseDatabaseValidation.checkc                s   g  } t    d  r t | d d   r t   f d d   | j j j D  } | r | j   j  } | d  k	 r | j   j	 | |   | 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>   s    