我正在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