在我的django应用程序中,我创建了一个字符串,我必须将其作为文件保存到我的数据库中。 如果我理解正确,django应该在我保存条目时自动上传文件:
class Foo(models.Model):
bar1=models.ForeignKey(Table1)
bar2=models.ForeignKey(Table2)
res=models.FileField(upload_to='MYPATH')
问题是要创建 Foo 的实例,我必须首先在服务器的磁盘上创建一个物理文件,这意味着将创建两个副本(一个由我创建,以便创建一个数据库条目,django保存条目时的一个。)
据我所知,我必须自己在'MYPATH'中创建文件,而不是使用FileField,我必须在数据库中保存一个引用(基本上django正在做什么? ???)。但是我怀疑这是最好的方法
基本上,我想做的是:String - > ContentFile(或某种形式的“虚拟”文件) - >物理文件由Django在数据库中保存条目时处理。
entry = Foo(bar1=var1, bar2=var2, res=ContentFile(XMLSTRING))
entry.save()
这不起作用,但它显示了我想要实现的目标。 所以,请告诉我以下三个中的一个:
我为[我的英语,我缺乏理解,缺乏透明度]道歉
你需要知道的任何事情,我很乐意指明。
编辑:我看了this线程,但在那里,urlretrieve创建了一个临时文件,这是我真的不想做的事情。也许我应该这样做,但有更好的方法吗?