✏️ Fix: [#64] 이미지, 파일 필드 업로드 경로 설정 함수 마이그레이션 되도록 설정
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user