Как модифицировать эту модель 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 так, чтобы можно было создать только одну таблицу, а конструктор пути можно было бы вызывать и для публичного и для приватного хранилища.

Вернуться на верх