我有一个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数据库中。有什么想法吗?
我想过制作没有文件的第二个模型,并以某种方式创建它们或覆盖保存方法。我不知道如何使它工作。