В моем проекте мне нужно изменить место, куда загружаются файлы. Это делается с помощью FileSystemStorage. Путь, в который загружаются файлы, должен быть прост в настройке, например, с помощью администратора Django.
from django.core.files.storage import FileSystemStorage
from django.db import models
class Setting(models.Model):
entry = models.CharField(primary_key=True, db_column="entry", max_length=50)
value = models.CharField(db_column="value", max_length=250, blank=True, null=True)
def __unicode__(self):
return "%s" %(self.entry)
class Meta:
db_table = 'settings'
verbose_name = 'Setting'
verbose_name_plural = 'Settings'
fs = FileSystemStorage(location=Setting.objects.get(entry__exact='upload_path').value)
def generate_filename(instance, filename):
...
class FileImport(models.Model):
data_file = models.FileField(_('Data file'), upload_to=generate_filename, storage=fs)
Я получаю эту ошибку:
django.db.utils.DatabaseError:
отношение "настройки" не существует
LINE 1: ... ВЫБРАТЬ «настройки». «Запись», «настройки».
для строки, в которой создается FileSystemStorage. Есть ли способ сказать Django сначала создать настройки таблицы (для настройки объектов), а затем заполнить эту таблицу некоторыми приборами?