3
g	                 @   s2   d dl mZ e ZG dd dZG dd dZdS )    )checksc               @   s<   e Zd ZdZdd ZefddZdd Zdd	 Zd
d Z	dS )FieldCacheMixinz?Provide an API for working with the model's fields value cache.c             C   s   t d S )N)NotImplementedError)self r   \/var/www/tester-filtro-web/env/lib/python3.6/site-packages/django/db/models/fields/mixins.pyget_cache_name	   s    zFieldCacheMixin.get_cache_namec             C   s8   | j  }y|jj| S  tk
r2   |tkr. |S X d S )N)r   _statefields_cacheKeyErrorNOT_PROVIDED)r   instancedefaultZ
cache_namer   r   r   get_cached_value   s    z FieldCacheMixin.get_cached_valuec             C   s   | j  |jjkS )N)r   r	   r
   )r   r   r   r   r   	is_cached   s    zFieldCacheMixin.is_cachedc             C   s   ||j j| j < d S )N)r	   r
   r   )r   r   valuer   r   r   set_cached_value   s    z FieldCacheMixin.set_cached_valuec             C   s   |j j| j = d S )N)r	   r
   r   )r   r   r   r   r   delete_cached_value   s    z#FieldCacheMixin.delete_cached_valueN)
__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r   r      s   	r   c                   s(   e Zd ZdZdd Z fddZ  ZS )CheckFieldDefaultMixin<valid default><invalid default>c             C   sJ   | j  rB| jd k	rBt| j rBtjd| jjf d| j | ddgS g S d S )Nzk%s default should be a callable instead of an instance so that it's not shared between all field instances.z7Use a callable instead, e.g., use `%s` instead of `%s`.zfields.E010)hintobjid)Zhas_defaultr   callabler   Warning	__class__r   _default_hint)r   r   r   r   _check_default"   s    

z%CheckFieldDefaultMixin._check_defaultc                s    t  jf |}|j| j  |S )N)supercheckextendr"   )r   kwargserrors)r    r   r   r$   5   s    zCheckFieldDefaultMixin.check)r   r   )r   r   r   r!   r"   r$   __classcell__r   r   )r    r   r      s   r   N)Zdjango.corer   objectr   r   r   r   r   r   r   <module>   s   