✏️ Fix: [#64] 이미지, 파일 필드 업로드 경로 설정 함수 마이그레이션 되도록 설정

This commit is contained in:
sm4640
2025-06-05 18:17:11 +09:00
parent 57d0efbbd6
commit c693acf79d

View File

@@ -1,18 +1,20 @@
import os
from django.utils.deconstruct import deconstructible
def dynamic_upload_to(prefix, field_name_func):
def wrapper(instance, filename):
@deconstructible
class DynamicUploadTo:
def __init__(self, prefix, field_name):
self.prefix = prefix
self.field_name = field_name
def __call__(self, instance, filename):
ext = filename.split('.')[-1]
field_name = field_name_func(instance)
if prefix == 'user':
filename = f'{instance.nickname}-{field_name}.{ext}'
fname = self.field_name(instance) if callable(self.field_name) else self.field_name
if self.prefix == "user":
filename = f"{instance.nickname}-{fname}.{ext}"
else:
filename = f'{instance.id}-{field_name}.{ext}'
return os.path.join(prefix, filename)
return wrapper
filename = f"{instance.id}-{fname}.{ext}"
return os.path.join(self.prefix, filename)
def file_delete(obj, field):
getattr(obj, field).delete(save=False)