
vÅÏ^0  ã               @   s    e  ƒ  Z Gd  d „  d ƒ Z d S)c               @   sU   e  Z d  Z d Z d d „  Z e 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-8lau8j11/django/django/db/models/fields/mixins.pyÚget_cache_name   s    zFieldCacheMixin.get_cache_namec             C   sJ   |  j  ƒ  } y | j j | SWn% t k
 rE | t k r= ‚  | SYn Xd  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   	