3
vÅÏ^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   úB/usr/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ÚdefaultÚ
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   