在models.py
:
from django.db import models
from django.dispatch import receiver
class MyModel(models.Model):
slug = models.SlugField()
@receiver(models.signals.pre_save, sender=MyModel)
def on_pre_save(sender, **kwargs):
print 'on_pre_save'
在运行manage.py shell
时从命令行创建模型实例。信号被调度,我看到输出。
但是当我在独立脚本中使用我的模型时,似乎没有调度信号,因为我看不到输出。为什么呢?
答案 0 :(得分:2)
我的脚本初始化逻辑已过时。将此脚本转换为manage.py自定义命令后,信号开始工作。