o
    {,hV                     @   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)django.db.models.optionsr   r   
isinstancestrdefault_appslazy_model_operationr   )selfmethodappsreceiversenderkwargsr   partial_method r   N/var/www/html/rh/venv/lib/python3.10/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)use_cachingN)	functoolsr   django.db.models.utilsr   django.dispatchr   class_preparedr   pre_init	post_initpre_save	post_save
pre_deletepost_deletem2m_changedpre_migratepost_migrater   r   r   r   <module>   s    
!






