1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import uuid
- import enum
- from django.db import models
- from pycs_api.models import base
- from pycs_api.models.project import Project
- class Extensions(enum.Enum):
- JPG = ".jpg"
- JPEG = ".jpeg"
- PNG = ".png"
- def project_directory(instance: "File", filename: str):
- return f"uploads/{instance.project.id}/{filename}"
- class File(base.BaseModel):
- EXTENSIONS = [
- (Extensions.JPG, "JPG Image"),
- (Extensions.JPEG, "JPEG Image"),
- (Extensions.PNG, "PNG Image"),
- ]
- uuid = models.UUIDField(
- default=uuid.uuid4
- )
- project = models.ForeignKey(
- Project,
- on_delete=models.CASCADE,
- )
- extension = models.CharField(
- max_length=16,
- choices=EXTENSIONS
- )
- size = models.PositiveIntegerField()
- created = models.DateTimeField(auto_now_add=True)
- path = models.ImageField(upload_to=project_directory)
- class Meta:
- unique_together = [
- "project",
- "path"
- ]
|