2021-03-12 11:08:40 +11:00

18 lines
679 B
Python

from django.db import models
from django.core.files.storage import get_storage_class
import json
class UserStorage(models.Model):
""" A user defined storage
"""
owner = models.ForeignKey('auth.User', on_delete=models.CASCADE, null=True, blank=True)
name = models.SlugField(max_length=20, help_text="Storage tag")
storage = models.CharField(max_length=255, help_text="Storage class for this instance")
settings_data = models.TextField(help_text="JSON dict with key/value settings")
def instance(self):
return get_storage_class(self.storage)(**self.settings)
@property
def settings(self):
return json.loads(self.settings_data)