Из-за проблем с миграцией изменен подход генерации имени загружаемых файлов
Этот коммит содержится в:
родитель
3bc7837a5c
Коммит
5be1fe2b55
@ -1,20 +1,25 @@
|
||||
import os
|
||||
import uuid
|
||||
|
||||
from django.db.models import Model
|
||||
from django.db.models import OneToOneField, ManyToManyField, CASCADE
|
||||
from django.db.models import CharField, TextField, IntegerField, DecimalField, BooleanField, ImageField
|
||||
from django.utils.deconstruct import deconstructible
|
||||
|
||||
|
||||
def upload_to(path, /):
|
||||
def wrapper(instance, filename):
|
||||
@deconstructible
|
||||
class UploadTo:
|
||||
def __init__(self, path):
|
||||
self.path = path
|
||||
|
||||
def __call__(self, instance, filename):
|
||||
return os.path.join(
|
||||
path,
|
||||
self.path,
|
||||
'%s.%s' % (
|
||||
instance.pk,
|
||||
uuid.uuid4(),
|
||||
filename.split('.')[-1],
|
||||
),
|
||||
)
|
||||
return wrapper
|
||||
|
||||
|
||||
class RoomImage(Model):
|
||||
@ -29,7 +34,7 @@ class RoomImage(Model):
|
||||
)
|
||||
image = ImageField(
|
||||
verbose_name='Изображение',
|
||||
upload_to=upload_to('media/rooms/images'),
|
||||
upload_to=UploadTo('media/rooms/images'),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
@ -48,7 +53,7 @@ class RoomPanorama(Model):
|
||||
)
|
||||
image = ImageField(
|
||||
verbose_name='Изображение',
|
||||
upload_to=upload_to('media/rooms/panoramas'),
|
||||
upload_to=UploadTo('media/rooms/panoramas'),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
@ -105,3 +110,6 @@ class Room(Model):
|
||||
verbose_name='Доступна для аренды',
|
||||
default=True,
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user