
    h                     ^    S SK Jr  S SKJr  S SKJr  S SKJr   " S S\R                  5      r	g)    )settings)checks)FieldDoesNotExist)modelsc                   X   ^  \ rS rSrSrSrS
U 4S jjrU 4S jrS rS r	U 4S jr
S	rU =r$ )CurrentSiteManager   zDUse this to limit objects to those associated with the current site.Tc                 .   > [         TU ]  5         Xl        g N)super__init___CurrentSiteManager__field_name)self
field_name	__class__s     O/var/www/html/env/lib/python3.13/site-packages/django/contrib/sites/managers.pyr   CurrentSiteManager.__init__   s    &    c                 f   > [         TU ]  " S0 UD6nUR                  U R                  5       5        U$ )N )r   checkextend_check_field_name)r   kwargserrorsr   s      r   r   CurrentSiteManager.check   s.    ((d,,./r   c                    U R                  5       n U R                  R                  R                  U5      nUR                  (       d]  [        U[        R                  5      (       d>  [
        R                  " SU R                  R                  R                  < SU< S3U SS9/$ / $ ! [         a    [
        R                  " SU-  U SS9/s $ f = f)Nz5CurrentSiteManager could not find a field named '%s'.z
sites.E001)objidzCurrentSiteManager cannot use '.z5' as it is not a foreign key or a many-to-many field.z
sites.E002)_get_field_namemodel_meta	get_fieldr   r   Errormany_to_many
isinstancer   
ForeignKeyobject_name)r   r   fields      r   r   $CurrentSiteManager._check_field_name   s    ))+

	JJ$$..z:E !!*UV=N=N*P*P zz''33ZA #  	+ ! 	K !#	 	s   %B' '$CCc                     U R                   (       d9   U R                  R                  R                  S5        SU l         U R                   $ U R                   $ ! [         a    SU l          U R                   $ f = f)z.Return self.__field_name or 'site' or 'sites'.sitesites)r   r"   r#   r$   r   )r   s    r   r!   "CurrentSiteManager._get_field_name0   sr       +

  **62 %+!   t   	 % ,$+!    	,s   %A A65A6c                    > [         TU ]  5       R                  " S0 U R                  5       S-   [        R
                  0D6$ )N__idr   )r   get_querysetfilterr!   r   SITE_ID)r   r   s    r   r2   CurrentSiteManager.get_queryset<   sG    G V K++-68H8HIK	
r   )__field_namer   )__name__
__module____qualname____firstlineno____doc__use_in_migrationsr   r   r   r!   r2   __static_attributes____classcell__)r   s   @r   r   r      s*    J'
6
!
 
r   r   N)
django.confr   django.corer   django.core.exceptionsr   	django.dbr   Managerr   r   r   r   <module>rD      s!       4 :
 :
r   