Django在文件上传时创建非持久字段

时间:2017-01-07 21:49:21

标签: python django upload save

我有一个Document的模型,如:

class Document(models.Model):
    document_name = models.CharField(max_length=64)
    author = models.ForeignKey(Client, null=False, default=1)
    size = models.IntegerField(default=0)
    version = models.CharField(max_length=64)
    file = models.FileField(upload_to='documents/%Y/%m/%d')

但我也想上传该文件。我的表单看起来像

class UploadDocumentForm(ModelForm):
    class Meta:
        model = Document
        fields = ('document_name', 'author', 'size', 'version', 'file',)

    def __init__(self, *args, **kwargs):
        super(UploadDocumentForm, self).__init__(*args, **kwargs)

现在显然,我希望我的文件保存在一个文件夹中,而不是在数据库中有自己的列。在db中我只想要其他数据。问题是,django试图坚持它并与

崩溃
The above exception (table document has no column named file)

有没有办法让文件成为非持久化字段? 我遵循本教程https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html

我尝试从模型中删除文件并以某种方式将其添加到表单中,但它不起作用。不承认谎言。我只是希望它不会被保存在sqlite数据库中。有什么想法吗?

我想过制作没有文件的第二个模型,并以某种方式创建它们或覆盖保存方法。我不知道如何使它工作。

0 个答案:

没有答案