바뀜

둘러보기로 가기 검색하러 가기
396 바이트 추가됨 ,  2023년 10월 18일 (수) 17:43
21번째 줄: 21번째 줄:  
         return self.title
 
         return self.title
 
</syntaxhighlight>파일을 정규표현식을 이용해 저장경로를 설정할 수 있다. 년월일로 저장하는 등 방식으로 저장하면 사람이 찾긴 힘들어지지만, 컴퓨터의 검색 속도는 더욱 빨라진다.
 
</syntaxhighlight>파일을 정규표현식을 이용해 저장경로를 설정할 수 있다. 년월일로 저장하는 등 방식으로 저장하면 사람이 찾긴 힘들어지지만, 컴퓨터의 검색 속도는 더욱 빨라진다.
  −
객체가 지워질 때 올렸던 파일도 지워지게 하려면 file필드 안에 delete=True 옵션을 주면 된다.
      
=== save 오버라이드 ===
 
=== save 오버라이드 ===
35번째 줄: 33번째 줄:  
             pass  # when new photo then we do nothing, normal case
 
             pass  # when new photo then we do nothing, normal case
 
         super(HomeworkAnswer, self).save(*args, **kwargs)
 
         super(HomeworkAnswer, self).save(*args, **kwargs)
 +
</syntaxhighlight>
 +
 +
=== 객체 삭제 전 file 삭제 ===
 +
기본적으로 객체를 지워도 파일 필드의 파일은 남는다. 지워줘야 맞지.<syntaxhighlight lang="python">
 +
from django.db.models.signals import pre_delete
 +
from django.dispatch import receiver
 +
...
 +
 +
@receiver(pre_delete, sender=HomeworkAnswer)
 +
def delete_homework_answer_file(sender, instance, **kwargs):
 +
    # 모델 인스턴스가 삭제되기 전에 파일을 삭제합니다.
 +
    if instance.file:
 +
        instance.file.delete(save=False)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== 폼 ==
 
== 폼 ==

둘러보기 메뉴