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

34 lines
916 B
Python

from django.db import models
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 Element3D(models.Model):
parent = models.ForeignKey("self", on_delete=models.PROTECT, blank=True, null=True)
model_file = models.FileField(upload_to=group_based_upload_to)
name = models.CharField(max_length=255)
description = models.TextField()
def __str__(self):
return self.name
class ClickableArea(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
object_name = models.CharField(max_length=255)
target = models.ForeignKey(
Element3D, on_delete=models.CASCADE, related_name="clickable_areas"
)
def __str__(self):
return self.name