o a%@sddlmZddlmZddlmZeZGdddeZeddZeddZ eddZ eddZ eddZ eddZ eddZeZeZdS) )partial)make_model_tuple)Signalcs8eZdZdZddZd fdd Zd fdd ZZS) ModelSignalzz Signal subclass that allows the sender to be lazily specified as a string of the `app_label.ModelName` form. cKsNddlm}t||fi|}t|tr#|p|j}||t|dS||S)Nr)Options)django.db.models.optionsrr isinstancestr default_appslazy_model_operationr)selfmethodappsreceiversenderkwargsrpartial_methodr:/usr/lib/python3/dist-packages/django/db/models/signals.py _lazy_methods   zModelSignal._lazy_methodNTcs|jtj|||||ddS)N)weak dispatch_uid)rsuperconnect)r rrrrr __class__rrrs  zModelSignal.connectcs|jtj||||dS)N)r)rr disconnect)r rrrrrrrrszModelSignal.disconnect)NTNN)NNNN)__name__ __module__ __qualname____doc__rrr __classcell__rrrrr s  rT) use_cachingN) functoolsrdjango.db.models.utilsrdjango.dispatchrclass_preparedrpre_init post_initpre_save post_save pre_delete post_delete m2m_changed pre_migrate post_migraterrrrs