2017-09-17 8 views
0

모델 (컨테이너)의 인스턴스를 만들고 있는데, pre_save 함수가 트리거되지 않은 것처럼 보입니다.Django 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

그게 내가 놓친거야! 당신은 대답으로 그것을 쓸 수 있고 나는 그것을 표시 할 것입니다. – user2880391

답변

3

정말 이해가되지 않는 클래스 메소드에 receiver 장식을 사용하여 :

는 '신호'의 클래스입니다.

데코 레이팅 된 메서드를 클래스 외부에 배치하고 파일을 가져 오는 경우 등록해야합니다. 또한 다음을 위해 믹싱을 만들 필요가 없습니다.

+0

특정 문제는 가져 오기를 놓친 것이 었습니다. 감사. – user2880391

관련 문제