demo-int-table/back/frontImages/models.py

33 lines
896 B
Python

from django.db import models
from object.models import Scene3D
import logging
logger = logging.getLogger("root")
def group_based_upload_to(instance, filename):
logger.info(instance)
return "files/image/{}/{}/{}".format(
type(instance).__name__.lower(), instance.id, filename
)
class Image(models.Model):
file = models.ImageField(upload_to=group_based_upload_to)
alt = models.CharField(max_length=255)
title = models.CharField(max_length=255)
def __str__(self):
return self.title
class Item(models.Model):
name = models.CharField()
slug = models.SlugField(unique=True)
images = models.ManyToManyField(Image)
scene_3d = models.ForeignKey(Scene3D, on_delete=models.RESTRICT)
is_front = models.BooleanField(unique=True)
def __str__(self):
return f"{self.id} {self.name} {'Главная' if self.is_front else ''}"