o
    uvXjp  ã                   @   sÎ   d dl mZ d dlmZ d dlmZ edgd�ZG dd„ deƒZeg d¢d	d
�Zedgd	d
�Z	eg d¢d	d
�Z
eg d¢d	d
�Zeddgd	d
�Zeddgd	d
�Zeg d¢d	d
�Zeg d¢d�Zeg d¢d�ZdS )é    )Úpartial)Úmake_model_tuple)ÚSignalÚclass)Úproviding_argsc                       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   úU/var/www/html/myproject/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   )ÚinstanceÚargsr   T)r   Úuse_cachingr$   )r$   ÚrawÚusingÚupdate_fields)r$   r'   Úcreatedr(   r)   r(   )Úactionr$   ÚreverseÚmodelÚpk_setr(   )Ú
app_configÚ	verbosityÚinteractiver(   r   ÚplanN)Ú	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&    ÿþ