Найти - Пользователи
Полная версия: параметр dispatch_uid в методе connect
Начало » Django » параметр dispatch_uid в методе connect
1
romankrv
Hi.

Изучая код джанги по Signals system. И на примере кода возник вопрос:
signals.post_syncdb.connect(create_superuser,
sender=auth_app, dispatch_uid = "django.contrib.auth.management.create_superuser")
если убрать параметр dispatch_uid из входных параметров метода connect, то при инициализации приложения по ./manage syncdb происходит дважды запрос на создание суперпользователя.
В докстрингах по данному параметру написано что это используется для однозначной идентификации конкретного экземпляр приемника.
http://code.djangoproject.com/browser/django/trunk/django/dispatch/dispatcher.py#L58

И вопрос: а что тогда идет первым входным параметром для метода connect. В данном случаи create_superuser - ведь это то же функция-приемник сигнала или это не так?
Александр Кошелев
romankrv
а что тогда идет первым входным параметром для метода connect
Ром, не поверишь, но экземпляр приёмника

romankrv
В данном случаи create_superuser - ведь это то же функция-приемник сигнала или это не так?
что значит “тоже”?
romankrv
Daevaorn
romankrv
а что тогда идет первым входным параметром для метода connect
Ром, не поверишь, но экземпляр приёмника

romankrv
В данном случаи create_superuser - ведь это то же функция-приемник сигнала или это не так?
что значит “тоже”?
Но какую “магию” выполняет dispatch_uid если первый параметр это экземпляр, а dispatch_uid тоже указывает на экзепляр?
Александр Кошелев
dispatch_uid это уникальный идентификатор. Ты же сам ссылку привел. В общем случае он может быть любым, лишь бы был уникальным.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB