
    h                         S SK r S SKrS SKJr  S SKJr  S SKJr  S SKJ	r	   " S S5      r
 " S S	\
R                  \	5      5      r " S
 S5      r " S S\5      rg)    Nwraps)import_module)router)QuerySetc                      ^  \ rS rSrSrSrSrU 4S jrU 4S jrS r	S r
S rS	 r\S
 5       r\SS j5       rS rS rSS jr\S 5       rS rS rS rS rSrU =r$ )BaseManager
   r   Fc                 6   > [         TU ]  U 5      nX4Ul        U$ N)super__new___constructor_args)clsargskwargsobj	__class__s       J/var/www/html/env/lib/python3.13/site-packages/django/db/models/manager.pyr   BaseManager.__new__   s     goc"!%
    c                 z   > [         TU ]  5         U R                  5         S U l        S U l        S U l        0 U l        g r   )r   __init___set_creation_countermodelname_db_hintsselfr   s    r   r   BaseManager.__init__   s6    ""$
	r   c                 d    U R                   R                  R                  < SU R                  < 3$ )z,Return "app_label.model_label.manager_name"..)r   _metalabelr   r    s    r   __str__BaseManager.__str__#   s!    ****00$))<<r   c                     U $ r    )r   r   r   s      r   __class_getitem__BaseManager.__class_getitem__'   s    
r   c                 t   U R                   n[        U SS5      (       a"  SSUR                  < SUR                  < 3SS4$ U R                  nU R                  R                  n[        U5      n[        XC5      (       d  [        SU< SU< S35      eSU< SU< 3SU R                  S	   U R                  S
   4$ )z
Return a 5-tuple of the form (as_manager (True), manager_class,
queryset_class, args, kwargs).

Raise a ValueError if the manager is dynamically generated.
_built_with_as_managerFTNr#   zCould not find manager z in zf.
Please note that you need to inherit from managers you dynamically generated with 'from_queryset()'.r      )	_queryset_classgetattr
__module____name__r   r   hasattr
ValueErrorr   )r    qs_classmodule_namer   modules        r   deconstructBaseManager.deconstruct*   s     ''41599 #..0A0AB  //K>>**D";/F6((  [*  &-&&q)&&q) r   c                     / $ r   r*   )r    r   s     r   checkBaseManager.checkO   s    	r   c                     S n0 n[         R                  " U[         R                  S9 HP  u  pE[        X5      (       a  M  [	        USS 5      nU(       d  Uc  UR                  S5      (       a  MF  U" XE5      X4'   MR     U$ )Nc                 0   ^  [        U5      U 4S j5       nU$ )Nc                 D   > [        U R                  5       T5      " U0 UD6$ r   )r1   get_queryset)r    r   r   r   s      r   manager_methodPBaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methodU   s#    t002D94J6JJr   r   )r   methodrB   s   `  r   create_method8BaseManager._get_queryset_methods.<locals>.create_methodT   s#    6]K K "!r   )	predicatequeryset_only_)inspect
getmembers
isfunctionr4   r1   
startswith)r   queryset_classrE   new_methodsr   rD   rH   s          r   _get_queryset_methods!BaseManager._get_queryset_methodsR   s~    	" #..g&8&8
LD s!! $FOTBM!64??3;O;O -d ;K
 r   c                     Uc  U R                   < SUR                   < 3n[        UU 4SU0U R                  U5      E5      $ )NFromr0   )r3   typerP   )r   rN   
class_names      r   from_querysetBaseManager.from_querysetk   sN    '*||^5L5LMJF!>++N;
 	
r   c                     U R                   =(       d    UU l         Xl        [        X[        U 5      5        UR                  R                  U 5        g r   )r   r   setattrManagerDescriptorr$   add_manager)r    r   r   s      r   contribute_to_classBaseManager.contribute_to_classx   s9    II%	
,T23		d#r   c                 `    [         R                  U l        [         =R                  S-  sl        g)zV
Set the creation counter value for this instance and increment the
class-level copy.
r/   N)r	   creation_counterr&   s    r   r   !BaseManager._set_creation_counter   s#    
 !, < <$$)$r   c                     [         R                   " U 5      nU=(       d    U R                  Ul        U=(       d    U R                  Ul        U$ r   )copyr   r   )r    usinghintsr   s       r   
db_managerBaseManager.db_manager   s4    iio#488)dkk

r   c                 ~    U R                   =(       d+    [        R                  " U R                  40 U R                  D6$ r   )r   r   db_for_readr   r   r&   s    r   dbBaseManager.db   s)    xxH6--djjHDKKHHr   c                 `    U R                  U R                  U R                  U R                  S9$ )zm
Return a new QuerySet object. Subclasses can override this method to
customize the behavior of the Manager.
)r   rc   rd   )r0   r   r   r   r&   s    r   rA   BaseManager.get_queryset   s(    
 ##$**DHHDKK#XXr   c                 "    U R                  5       $ r   )rA   r&   s    r   allBaseManager.all   s       ""r   c                 l    [        XR                  5      =(       a    U R                  UR                  :H  $ r   )
isinstancer   r   )r    others     r   __eq__BaseManager.__eq__   s-    unn- B&&%*A*AA	
r   c                     [        U 5      $ r   )idr&   s    r   __hash__BaseManager.__hash__   s    $xr   )r   r   r_   r   r   r   )NN)r3   r2   __qualname____firstlineno__r_   auto_createduse_in_migrationsr   r   r'   r+   r9   r<   classmethodrP   rV   r\   r   re   propertyri   rA   rn   rs   rw   __static_attributes____classcell__r   s   @r   r	   r	   
   s     L =#J  0 

 

$* I IY#
 r   r	   c                       \ rS rSrSrg)Manager   r*   N)r3   r2   ry   rz   r   r*   r   r   r   r      s    r   r   c                   $    \ rS rSrS rSS jrSrg)rZ      c                     Xl         g r   manager)r    r   s     r   r   ManagerDescriptor.__init__   s    r   Nc                    Ub  [        SUR                  -  5      eUR                  R                  (       a$  [        SUR                  R                  < S35      eUR                  R
                  (       a<  [        SUR                  R                  < SUR                  R
                  < S35      eUR                  R                  U R                  R                     $ )Nz)Manager isn't accessible via %s instanceszManager isn't available; z is abstractzManager isn't available; 'z' has been swapped for '')
AttributeErrorr3   r$   abstractobject_nameswappedr%   managers_mapr   r   )r    instancer   s      r   __get__ManagerDescriptor.__get__   s     ;cllJ  99 =@YY=R=RT  99  IIOOII%%  yy%%dll&7&788r   r   r   )r3   r2   ry   rz   r   r   r   r*   r   r   rZ   rZ      s    9r   rZ   c                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )EmptyManager   c                 .   > [         TU ]  5         Xl        g r   )r   r   r   )r    r   r   s     r   r   EmptyManager.__init__   s    
r   c                 <   > [         TU ]  5       R                  5       $ r   )r   rA   noner   s    r   rA   EmptyManager.get_queryset   s    w#%**,,r   )r   )r3   r2   ry   rz   r   rA   r   r   r   s   @r   r   r      s    - -r   r   )rb   rJ   	functoolsr   	importlibr   	django.dbr   django.db.models.queryr   r	   rV   r   rZ   r   r*   r   r   <module>r      sQ       #  +c cL	k''1 	9 96-7 -r   