我正在django項目中工作。我有1個postgresql sql文件需要在db創建後只運行一次。內置Django信號不太適合我的情況。所以我嘗試編寫自定義django信號,但我不確定如何從這種情況開始。有沒有人有一個很好的指導。 ? :)如何從django捕獲創建db信號
1
A
回答
1
Django docs on signals已經大幅改善,所以如果你還沒有看看那裏。這個過程非常簡單。
首先創建你的信號(providing_args
,您可以指定將獲得通過的參數,當你以後把你的信號):
import django.dispatch
my_signal = django.dispatch.Signal(providing_args=["first_arg", "second_arg"])
其次,創建一個接收器功能:
from django.dispatch import receiver
@receiver(my_signal)
def my_callback(sender, first_arg, second_arg, **kwargs):
# do something
最後,在您的代碼中發送您的信號(self
,因爲發件人只適用於您的模型類別,否則只需傳遞模型類名稱):
my_signal.send(sender=self, first_arg='foo', second_arg='bar')
+0
由於他有一次性使用情況,您還應該指出他有關創建Command的文檔,以便他可以根據需要生成信號。 –
相關問題
- 1. 如何捕獲鏽信號
- 2. 如何在PowerShell中捕獲信號?
- 3. 如何捕獲語法錯誤信號
- 4. 捕獲傳入的信號
- 5. posix_memalign是否捕獲信號?
- 6. Android:捕獲SIGSEGV信號JNI
- 7. 捕獲SIGVTALRM信號,cp
- 8. Django:如何「擴展」使用信號創建組?
- 9. Django信號。如何創建一個獨特的調度ID?
- 10. 在星號中捕獲反向信號
- 11. Django信號如何工作?
- 12. Ionic2:如何從Modal組件(從ModalController創建)捕獲事件?
- 13. 爲用戶詳細信息創建django信號更新
- 14. 從UIWebView捕獲信息
- 15. 如何從FFT上獲取MFCC信號?
- 16. 從django-admin命令發送django信號?
- 17. 乾淨地在Perl中捕獲信號
- 18. GDB:捕獲信號並繼續調試
- 19. 在Qt中捕獲音頻信號
- 20. Elixir:試着捕獲退出信號
- 21. VBScript - 捕獲結束任務信號
- 22. PyQt多QDilaog類信號捕獲
- 23. 在Elixir escript中捕獲出口信號
- 24. 退出信號未被PyQt捕獲
- 25. Python的 - 捕獲所有信號
- 26. [iPhone]如何捕捉信號「EXC_BAD_ACCESS」?
- 27. 如何捕捉QML中的信號?
- 28. 從db model創建xsd
- 29. 如何獲得新創建的ID? DJANGO
- 30. 如何在Ruby進程中捕獲信號
最初的SQL數據鉤子不適合你嗎? –
我不確定這種方法。但我需要它只運行一次。它會按我的預期工作嗎? – vernomcrp