
    af                     Z    d dl mZ  e            Z G d d          Z G d d          ZdS )    )checksc                   4    e Zd ZdZd ZefdZd Zd Zd Z	dS )FieldCacheMixinz?Provide an API for working with the model's fields value cache.c                     t           N)NotImplementedErrorselfs    P/var/www/html/env/lib/python3.11/site-packages/django/db/models/fields/mixins.pyget_cache_namezFieldCacheMixin.get_cache_name	   s    !!    c                     |                                  }	 |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   sZ    ((**
	?/
;; 	 	 	,&&NNN	s   ( A Ac                 B    |                                  |j        j        v S r   )r   r   r   r
   r   s     r   	is_cachedzFieldCacheMixin.is_cached   s    ""$$(DDDr   c                 H    ||j         j        |                                 <   d S r   r   r   r   )r
   r   values      r   set_cached_valuez FieldCacheMixin.set_cached_value   s#    >C$T%8%8%:%:;;;r   c                 D    |j         j        |                                 = d S r   r   r   s     r   delete_cached_valuez#FieldCacheMixin.delete_cached_value   s!    O()<)<)>)>???r   N)
__name__
__module____qualname____doc__r   r   r   r   r   r    r   r   r   r      sz        II" " " 2>    E E ED D 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                     |                                  rI| j        Bt          | 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"   s    	(T\** )  ~...1 "&"45 $
 
 
  Ir   c                      t                      j        di |}|                    |                                            |S )Nr$   )supercheckextendr0   )r
   kwargserrorsr.   s      r   r3   zCheckFieldDefaultMixin.check8   sA    ((((d))++,,,r   )r    r!   r"   r/   r0   r3   __classcell__)r.   s   @r   r&   r&      sL        <M  ,        r   r&   N)django.corer   objectr   r   r&   r$   r   r   <module>r:      s         vxx@ @ @ @ @ @ @ @2         r   