o
    ×ŸŽiV  ã                   @   s�   d dl mZ d dlmZ d dlmZ eƒ ZG dd„ deƒZedd�Zedd�Z	edd�Z
edd�Zedd�Zedd�Zedd�Zeƒ Zeƒ ZdS )	é    )Úpartial)Úmake_model_tuple)ÚSignalc                       s8   e Zd ZdZdd„ Zd
‡ fdd„	Zd‡ fdd	„	Z‡  ZS )ÚModelSignalzz
    Signal subclass that allows the sender to be lazily specified as a string
    of the `app_label.ModelName` form.
    c                 K   sN   ddl m} t||fi |¤Ž}t|tƒr#|p|j}| |t|ƒ¡ d S ||ƒS )Nr   )ÚOptions)Zdjango.db.models.optionsr   r   Ú
isinstanceÚstrZdefault_appsZlazy_model_operationr   )ÚselfÚmethodÚappsÚreceiverÚsenderÚkwargsr   Zpartial_method© r   úbC:\Users\psant\Downloads\Anu Raj Backend\school\venv\Lib\site-packages\django/db/models/signals.pyÚ_lazy_method   s   

zModelSignal._lazy_methodNTc                    s   | j tƒ j|||||d� d S )N)ÚweakÚdispatch_uid)r   ÚsuperÚconnect)r	   r   r   r   r   r   ©Ú	__class__r   r   r      s   
úzModelSignal.connectc                    s   | j tƒ j||||d�S )N)r   )r   r   Ú
disconnect)r	   r   r   r   r   r   r   r   r   $   s   ÿzModelSignal.disconnect)NTNN)NNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__classcell__r   r   r   r   r   	   s
    
r   T)Zuse_cachingN)Ú	functoolsr   Zdjango.db.models.utilsr   Zdjango.dispatchr   Zclass_preparedr   Zpre_initZ	post_initZpre_saveZ	post_saveZ
pre_deleteZpost_deleteZm2m_changedZpre_migrateZpost_migrater   r   r   r   Ú<module>   s    
!






