
    Evg                     \    d dl mZ d dlmZ d dlmZ d dlmZ  G d dej                  Z	dS )    )settings)checks)FieldDoesNotExist)modelsc                   H     e Zd ZdZdZd	 fd	Z fdZd Zd Z fdZ	 xZ
S )
CurrentSiteManagerzDUse this to limit objects to those associated with the current site.TNc                 V    t                                                       || _        d S N)super__init___CurrentSiteManager__field_name)self
field_name	__class__s     Z/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/sites/managers.pyr   zCurrentSiteManager.__init__   s'    &    c                      t                      j        di |}|                    |                                            |S )N )r   checkextend_check_field_name)r   kwargserrorsr   s      r   r   zCurrentSiteManager.check   sA    ((((d,,..///r   c                 d   |                                  }	 | j        j                            |          }n+# t          $ r t          j        d|z  | d          gcY S w xY w|j        sHt          |t          j
                  s.t          j        d| j        j        j        d|d| d          gS g S )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   z$CurrentSiteManager._check_field_name   s    ))++

	J$..z::EE  	 	 	K !#	     	 ! 		*UV=N*P*P 		 z'333ZZZA #    	s   6 %AAc                     | j         s?	 | j        j                            d           d| _         n# t          $ r
 d| _         Y nw xY w| j         S )z.Return self.__field_name or 'site' or 'sites'.sitesites)r   r   r    r!   r   )r   s    r   r   z"CurrentSiteManager._get_field_name0   sp       	++
 **6222 %+!! % , , ,$+!!!,   s   0 AAc                      t                                                      j        di |                                 dz   t          j        iS )N__idr   )r   get_querysetfilterr   r   SITE_ID)r   r   s    r   r-   zCurrentSiteManager.get_queryset<   sS    EGG\^^K K++--68HIK K	
r   r
   )__name__
__module____qualname____doc__use_in_migrationsr   r   r   r   r-   __classcell__)r   s   @r   r   r      s        JJ' ' ' ' ' '    
  6
! 
! 
!
 
 
 
 
 
 
 
 
r   r   N)
django.confr   django.corer   django.core.exceptionsr   	django.dbr   Managerr   r   r   r   <module>r;      s                      4 4 4 4 4 4      :
 :
 :
 :
 :
 :
 :
 :
 :
 :
r   