Django pre_save未被触发

时间:2017-09-17 10:59:18

标签: python django signals

我正在创建一个模型实例(Container),似乎没有触发pre_save函数。

这是“信号”中的类:

class ContainerCreatedMixin(object):
  @staticmethod
  @receiver(pre_save, sender=Container)
  def container_pre_save(sender, instance, **kwargs):
      # create container folder if not created yet
      if instance.folder_created_at is None:
          is_folder_created = ContainerCreatedMixin().create_folder(instance)

          if is_folder_created:
              instance.folder_created_at = now()

  def create_virtual_folder(self, container):
     try:
        ...... 

1 个答案:

答案 0 :(得分:3)

在类方法上使用receiver装饰器并没有多大意义。

将您的装饰方法排除在类之外,如果导入文件则应该注册。此外,无需为以下内容创建混合。