in my 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
时从命令行创建模型实例。信号被调度,我看到了输出。
但是当我在独立脚本中使用我的模型时,信号似乎没有被分派,因为我没有看到输出。为什么?
我的脚本初始化逻辑过时了。在将此脚本转换为manage.py自定义命令后,信号开始工作。