Как модифицировать эту модель django Model для создания одной таблицы в базе данных?
backend.py
from storages.backends.s3boto3 import S3Boto3Storage
class PublicStorage(S3Boto3Storage):
location = getattr(settings,'PUBLIC_FILES_LOCATION','PUBLIC_URL')
default_acl = 'public-read'
file_overwrite = False
custom_domain = False
class PrivateStorage(S3Boto3Storage):
location = getattr(settings,'PUBLIC_FILES_LOCATION','PRIVATE_URL')
default_acl = 'public-read'
file_overwrite = False
custom_domain = False
Model.py
from django.db import models
from django.conf import settings
from accounts_engine.models import CustomUser
from Main.aws.backend import *
class Template_Core(models.Model):
user = models.ForeignKey(CustomUser,on_delete=models.CASCADE)
original_filename = models.CharField(max_length = 500)
TEMPLATE_TYPE_LIST = [
('0','Private'),
('1','Public'),
('2','Shared'),
]
template_type
= models.CharField(max_length=15,choices=TEMPLATE_TYPE_LIST,default='Public')
VIEW_TYPE_LIST = [
('0','Edit'),
('1','Import'),
]
view_type = models.CharField(max_length=10,choices=VIEW_TYPE_LIST,default='Import')
template_name = models.CharField(max_length=255,default='mytemplate',null=False)
template_description = models.CharField(max_length=500)
creation_date = models.DateTimeField(auto_now_add=True)
class Meta:
abstract = True
#класс, созданный для path для хранения пути в db, а также вызов публичного и частного класса хранения на основе требований.
class Template_Public(Template_Core):
path = models.FileField(storage = PublicStorage())
class Template_Private(Template_Core):
path = models.FileField(storage = PrivateStorage())
Я не хочу иметь отдельный класс (Template_public, Template_private), потому что он создает отдельную таблицу в db. Как изменить этот файл model.py так, чтобы можно было создать только одну таблицу, а конструктор пути можно было бы вызывать и для публичного и для приватного хранилища.