3
7^0                 @   s   e  ZG d d dZdS )c               @   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   @/tmp/pip-build-8app2_gc/Django/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   N)objectr
   r   r   r   r   r   <module>   s   