✨ Feat: [#58] 이미지 필드 파일 경로 동적 생성 설정 및 객체 삭제 의존성 설정
This commit is contained in:
@@ -2,6 +2,8 @@ from django.db import models
|
||||
|
||||
from common.models.baseModels import BaseModel
|
||||
|
||||
from common.utils.fileManager import dynamic_upload_to
|
||||
|
||||
from django.contrib.postgres.fields import ArrayField
|
||||
from django.conf import settings
|
||||
|
||||
@@ -16,8 +18,13 @@ class Portfolio(BaseModel):
|
||||
like_count = models.IntegerField(default=0)
|
||||
scrap_count = models.IntegerField(default=0)
|
||||
is_represent = models.BooleanField(default=False)
|
||||
thumbnail = models.ImageField(upload_to='', blank=True)
|
||||
thumbnail = models.ImageField(upload_to=dynamic_upload_to('portfolio', lambda instance: 'thumbnail'), blank=True)
|
||||
code_id = models.CharField(max_length=26, blank=True)
|
||||
owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='owned_portfolios', to_field="id")
|
||||
likers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='liked_portfolios', blank=True)
|
||||
scrappers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='scrapped_portfolios', blank=True)
|
||||
scrappers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='scrapped_portfolios', blank=True)
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
if self.thumbnail:
|
||||
self.thumbnail.delete(save=False)
|
||||
super().delete(*args, **kwargs)
|
||||
Reference in New Issue
Block a user