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 ''}"