expephalon/core/models/files.py
Klaus-Uwe Mitterer 1efda993fd Create LongCharField to make code prettier
Create Models for clients and dummy model for brands
2020-05-27 15:06:38 +02:00

32 lines
No EOL
898 B
Python

from django.db.models import Model, ImageField, FileField, ManyToManyField, ForeignKey, BooleanField, CASCADE
from django.contrib.auth import get_user_model
from polymorphic.models import PolymorphicModel
from core.helpers.files import generate_storage_filename
from core.models.profiles import Profile
from core.fields.base import LongCharField
# Create your models here.
class BaseFile(PolymorphicModel):
filename = LongCharField()
class ImageFile(BaseFile):
rawfile = ImageField(upload_to=generate_storage_filename)
@property
def get_file(self):
return self.image
class File(BaseFile):
rawfile = FileField(upload_to=generate_storage_filename)
@property
def get_file(self):
return self.file
class FileAssociation(Model):
file = ForeignKey(BaseFile, CASCADE)
user = ForeignKey(get_user_model(), CASCADE)
visible = BooleanField()