
    Hwg                     F    d dl mZ  e       Z G d d      Z G d d      Zy)    )checksc                   2    e Zd ZdZd ZefdZd Zd Zd Z	y)FieldCacheMixinz?Provide an API for working with the model's fields value cache.c                     t         N)NotImplementedErrorselfs    U/var/www/horilla/myenv/lib/python3.12/site-packages/django/db/models/fields/mixins.pyget_cache_namezFieldCacheMixin.get_cache_name	   s    !!    c                     | j                         }	 |j                  j                  |   S # t        $ r |t        u r |cY S w xY wr   )r   _statefields_cacheKeyErrorNOT_PROVIDED)r
   instancedefault
cache_names       r   get_cached_valuez FieldCacheMixin.get_cached_value   sI    ((*
	??//
;; 	,&N	s   + AAc                 N    | j                         |j                  j                  v S r   )r   r   r   r
   r   s     r   	is_cachedzFieldCacheMixin.is_cached   s     ""$(D(DDDr   c                 R    ||j                   j                  | j                         <   y r   r   r   r   )r
   r   values      r   set_cached_valuez FieldCacheMixin.set_cached_value   s    >C$$T%8%8%:;r   c                 N    |j                   j                  | j                         = y r   r   r   s     r   delete_cached_valuez#FieldCacheMixin.delete_cached_value   s    OO(()<)<)>?r   N)
__name__
__module____qualname____doc__r   r   r   r   r   r    r   r   r   r      s&    I" 2> ED@r   r   c                   (     e Zd ZdZd Z fdZ xZS )CheckFieldDefaultMixin)z<valid default>z<invalid default>c                     | j                         r_| j                  St        | j                        s>t        j                  | j
                  j                  dd| j                  z  | d      gS g S )Nzi 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)has_defaultr   callabler   Warning	__class__r    _default_hintr	   s    r   _check_defaultz%CheckFieldDefaultMixin._check_default"   sr    (T\\*  ~~..1 "&"4"45 $
  Ir   c                 d    t        |   di |}|j                  | j                                |S )Nr$   )supercheckextendr0   )r
   kwargserrorsr.   s      r   r3   zCheckFieldDefaultMixin.check8   s.    ((d))+,r   )r    r!   r"   r/   r0   r3   __classcell__)r.   s   @r   r&   r&      s    <M, r   r&   N)django.corer   objectr   r   r&   r$   r   r   <module>r:      s%    x@ @2 r   