Уведомления

Группа в Telegram: @pythonsu

#1 Март 19, 2009 15:40:28

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

параметр dispatch_uid в методе connect

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 - ведь это то же функция-приемник сигнала или это не так?

Офлайн

#2 Март 19, 2009 16:31:05

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

параметр dispatch_uid в методе connect

romankrv
а что тогда идет первым входным параметром для метода connect
Ром, не поверишь, но экземпляр приёмника

romankrv
В данном случаи create_superuser - ведь это то же функция-приемник сигнала или это не так?
что значит “тоже”?



Офлайн

#3 Март 19, 2009 16:47:15

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

параметр dispatch_uid в методе connect

Daevaorn
romankrv
а что тогда идет первым входным параметром для метода connect
Ром, не поверишь, но экземпляр приёмника

romankrv
В данном случаи create_superuser - ведь это то же функция-приемник сигнала или это не так?
что значит “тоже”?
Но какую “магию” выполняет dispatch_uid если первый параметр это экземпляр, а dispatch_uid тоже указывает на экзепляр?

Офлайн

#4 Март 19, 2009 17:42:19

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

параметр dispatch_uid в методе connect

dispatch_uid это уникальный идентификатор. Ты же сам ссылку привел. В общем случае он может быть любым, лишь бы был уникальным.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version