§
    Ÿj®	  ã                   óz   — d dl Z d dlmZ d dlmZ d dlmZ  e¦   «         Z G d„ d¦  «        Z	 G d„ d¦  «        Z
dS )	é    N)Úchecks)ÚRemovedInDjango60Warning)Úcached_propertyc                   óJ   — e Zd ZdZd„ Zed„ ¦   «         Zefd„Zd„ Z	d„ Z
d„ ZdS )	ÚFieldCacheMixinu®   
    An API for working with the model's fields value cache.

    Subclasses must set self.cache_name to a unique entry for the cache -
    typically the fieldâ€™s name.
    c                 ó   — t           ‚©N)ÚNotImplementedError©Úselfs    úk/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.pyÚget_cache_namezFieldCacheMixin.get_cache_name   s   € Ý!Ð!ó    c                 ó‚   — |                       ¦   «         }t          j        d| j        j        › d�t
          d¬¦  «         |S )Nz	Override z(.cache_name instead of get_cache_name().é   )Ú
stacklevel)r   ÚwarningsÚwarnÚ	__class__Ú__qualname__r   )r   Ú
cache_names     r   r   zFieldCacheMixin.cache_name   sW   € ð ×(Ò(Ñ*Ô*ˆ
ÝŒð ˜œÔ3ð  ð  ð  å$Øð		
ñ 	
ô 	
ð 	
ð Ðr   c                 ój   — 	 |j         j        | j                 S # t          $ r |t          u r‚ |cY S w xY wr	   )Ú_stateÚfields_cacher   ÚKeyErrorÚNOT_PROVIDED)r   ÚinstanceÚdefaults      r   Úget_cached_valuez FieldCacheMixin.get_cached_value#   sK   € ð	Ø”?Ô/°´Ô@Ð@øÝð 	ð 	ð 	Ø�,Ð&Ð&ØØˆNˆNˆNð	øøøs   ‚ ™2±2c                 ó(   — | j         |j        j        v S r	   )r   r   r   ©r   r   s     r   Ú	is_cachedzFieldCacheMixin.is_cached+   s   € ØŒ (¤/Ô">Ð>Ð>r   c                 ó.   — ||j         j        | j        <   d S r	   ©r   r   r   )r   r   Úvalues      r   Úset_cached_valuez FieldCacheMixin.set_cached_value.   s   € Ø8=ˆŒÔ$ T¤_Ñ5Ð5Ð5r   c                 ó*   — |j         j        | j        = d S r	   r$   r!   s     r   Údelete_cached_valuez#FieldCacheMixin.delete_cached_value1   s   € ØŒOÔ(¨¬Ð9Ð9Ð9r   N)Ú__name__Ú
__module__r   Ú__doc__r   r   r   r   r   r"   r&   r(   © r   r   r   r   
   sŽ   € € € € € ðð ð"ð "ð "ð ð
ð 
ñ „_ð
ð 2>ð ð ð ð ð?ð ?ð ?ð>ð >ð >ð:ð :ð :ð :ð :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   ÚWarningr   r)   Ú_default_hintr   s    r   Ú_check_defaultz%CheckFieldDefaultMixin._check_default8   s„   € à×ÒÑÔð	à”Ð(Ý˜Tœ\Ñ*Ô*ð )õ ”ð ”~Ô.Ð.Ð.ð1ð Ø"&Ô"4ñ5ð Ø$ð
ñ 
ô 
ðð ð ˆIr   c                 óˆ   •—  t          ¦   «         j        di |¤Ž}|                     |                      ¦   «         ¦  «         |S )Nr,   )ÚsuperÚcheckÚextendr7   )r   ÚkwargsÚerrorsr   s      €r   r:   zCheckFieldDefaultMixin.checkN   sA   ø€ Ø•‘””Ð(Ð( Ð(Ð(ˆØ�Š�d×)Ò)Ñ+Ô+Ñ,Ô,Ð,Øˆr   )r)   r*   r   r6   r7   r:   Ú__classcell__)r   s   @r   r.   r.   5   sL   ø€ € € € € Ø<€Mðð ð ð,ð ð ð ð ð ð ð ð r   r.   )r   Údjango.corer   Údjango.utils.deprecationr   Údjango.utils.functionalr   Úobjectr   r   r.   r,   r   r   ú<module>rC      sª   ðØ €€€à Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3àˆv‰xŒx€ð(:ð (:ð (:ð (:ð (:ñ (:ô (:ð (:ðVð ð ð ð ñ ô ð ð ð r   