✏️ 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 import os
from django.utils.deconstruct import deconstructible
def dynamic_upload_to(prefix, field_name_func): @deconstructible
def wrapper(instance, filename): 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] ext = filename.split('.')[-1]
field_name = field_name_func(instance) fname = self.field_name(instance) if callable(self.field_name) else self.field_name
if self.prefix == "user":
if prefix == 'user': filename = f"{instance.nickname}-{fname}.{ext}"
filename = f'{instance.nickname}-{field_name}.{ext}'
else: else:
filename = f'{instance.id}-{field_name}.{ext}' filename = f"{instance.id}-{fname}.{ext}"
return os.path.join(self.prefix, filename)
return os.path.join(prefix, filename)
return wrapper
def file_delete(obj, field): def file_delete(obj, field):
getattr(obj, field).delete(save=False) getattr(obj, field).delete(save=False)