Есть ли способ увидеть, какие сигналы были установлены в Django?Есть ли способ перечислить сигналы Django?
ответ
Там в Джанго приложение под названием django-debug-toolbar который добавляет немного панель инструментов в верхней части всех Джанго служили страницы, обеспечивающие информацию, связанную с бэкэндом отрисовки страницы, например, сколько запросов были казнены, сколько времени каждый из них взял, и т. д. Он также выводит сигналы. Я не использую сигналы в своем приложении, поэтому я никогда не использовал эту функцию, но она есть.
Это действительно не отображается в документах, но Signal - это просто класс, содержащий список получателей, вызываемых в событии. Вы можете вручную проверить этот список:
from django.db.models.signals import *
for signal in [pre_save, pre_init, pre_delete, post_save, post_delete, post_init, post_syncdb]:
# print a List of connected listeners
print signal.receivers
Я написал небольшую команду, которая показывает все слушатель сигналов: https://gist.github.com/1264102
Вы можете изменить его, чтобы показать только сигналы.
Если вы хотите перечислить только подключенные приемники для определенного сигнала на определенной модели, вы можете посмотреть _live_receivers
. Например, если вы хотите получить список подключенных post_save крюки для модели с именем MyModel, вы можете сделать:
from django.db.models.signals import post_save
from models import MyModel
print(post_save._live_receivers(MyModel))
Я нашел этот подход в исходном коде Django, ища как has_listeners
работы: https://github.com/django/django/blob/3eb679a86956d9eedf24492f0002de002f7180f5/django/dispatch/dispatcher.py#L153
- 1. есть ли способ перечислить спокойные веб-сервисы
- 2. Есть ли способ перечислить серверы PostgreSQL?
- 3. Есть ли способ перечислить коллекции с монгоскин?
- 4. Есть ли способ перечислить зависимости/требования?
- 5. Есть ли способ перечислить свойства каталога индексирования?
- 6. Есть ли способ перечислить все препроцессоры C?
- 7. Есть ли способ перечислить подсказки редактора NetBeans?
- 8. Django определяет, нужны ли сигналы
- 9. MVC2 - Есть ли сигналы для моделей?
- 10. Есть ли простой способ отключить все сигналы будильника в классе?
- 11. Есть ли способ вернуть различные ключевые сигналы в один OrderBy?
- 12. Есть ли suspend \ resume сигналы в Linux?
- 13. Сигналы django всегда синхронны?
- 14. django сигналы браузеру пользователя
- 15. Django manytomany сигналы?
- 16. пользовательские сигналы в django
- 17. Есть ли способ перечислить репозитории git в терминале?
- 18. ocaml: utop, есть ли способ перечислить все функции модуля?
- 19. Есть ли способ перечислить все swizzled методы в приложении iOS?
- 20. Есть ли предпочтительный способ перечислить sagadata в веб-приложении?
- 21. Есть ли лучший способ перечислить значения enum, чем Enum.GetValues ()?
- 22. Есть ли способ перечислить видеоустройства на телефоне Java ME?
- 23. Есть ли способ перечислить зависимости задач в Gradle?
- 24. Amazon SimpleDB - Есть ли способ перечислить все атрибуты в домене?
- 25. Есть ли способ условно перечислить имена полей в форме доступа?
- 26. Есть ли способ перечислить все запущенные контейнеры докеров по имени?
- 27. Цель C: Есть ли способ перечислить свойства в коде?
- 28. Есть ли способ перечислить все текущие запущенные процессы в C
- 29. Есть ли способ перечислить все зависимости градиента программно?
- 30. Есть ли способ перечислить очереди в rabbitmq через pika?