在我的项目中,我需要更改文件上传的位置。这是使用FileSystemStorage完成的。上传文件的路径应该易于配置,例如使用Django Admin。
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: 关系“设置”不存在 第1行:...... ELECT“设置”。“条目”,“设置”。“值”来自“设置”......
用于创建FileSystemStorage的行。有没有办法告诉Django首先创建表设置(对于设置对象)然后用一些灯具填充这个表?
答案 0 :(得分:0)
这不会解决您的问题,因为Settings
表仍然不会被填充。将其移动到第一次实例化时初始化的类属性。