Разработана функция для сохранения изображений с именем, основанным на первичном ключе записи в базе данных

Этот коммит содержится в:
Глеб Иваницкий 2024-09-22 18:05:46 +03:00
родитель 64004e70d1
Коммит 8af63713e4

Просмотреть файл

@ -1,14 +1,29 @@
import os
from django.db.models import Model from django.db.models import Model
from django.db.models import OneToOneField, ManyToManyField, CASCADE from django.db.models import OneToOneField, ManyToManyField, CASCADE
from django.db.models import CharField, TextField, IntegerField, DecimalField, BooleanField, ImageField from django.db.models import CharField, TextField, IntegerField, DecimalField, BooleanField, ImageField
def upload_to(path, /):
def wrapper(instance, filename):
return os.path.join(
path,
'%s.%s' % (
instance.pk,
filename.split('.')[-1],
),
)
return wrapper
class RoomImage(Model): class RoomImage(Model):
class Meta: class Meta:
verbose_name_plural = 'Изображения комнат' verbose_name_plural = 'Изображения комнат'
image = ImageField( image = ImageField(
verbose_name='Изображение', verbose_name='Изображение',
upload_to=upload_to('media/rooms/images'),
) )
@ -18,6 +33,7 @@ class RoomPanorama(Model):
image = ImageField( image = ImageField(
verbose_name='Изображение', verbose_name='Изображение',
upload_to=upload_to('media/rooms/panoramas'),
) )