是否存在将模型生成到数据库中的顺序?

时间:2010-11-29 08:40:14

标签: python django django-models

在我的项目中,我需要更改文件上传的位置。这是使用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首先创建表设置(对于设置对象)然后用一些灯具填充这个表?

1 个答案:

答案 0 :(得分:0)

这不会解决您的问题,因为Settings表仍然不会被填充。将其移动到第一次实例化时初始化的类属性。