首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django FileField手动复制

Django FileField手动复制
EN

Stack Overflow用户
提问于 2016-12-07 07:05:28
回答 3查看 506关注 0票数 0
代码语言:javascript
运行
复制
class ModelFile(models.Model):
    ufile = models.FileField(upload_to="files")

我有一些管理命令和内部:

代码语言:javascript
运行
复制
...
my_file = ModelFile.objects.create(ufile='/home/myfile.txt')

我有对象实例,但我在项目的文件目录中看不到myfile.txt?我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2016-12-07 07:32:47

原因是,仅使用文件路径创建新的模型文件实际上并不会复制该文件-它只是链接到已存在的模型文件。要实际复制该文件,您可以使用如下所示的ContenFile:Duplicate Model Instance

票数 0
EN

Stack Overflow用户

发布于 2016-12-07 08:51:31

和我有模型实例,但我在项目的文件目录中看不到myfile.txt?

没错。Model.create将使用您指定的所有字段值创建模型的实例。

您的代码中没有任何内容可以在文件系统上创建相应的文件。

票数 0
EN

Stack Overflow用户

发布于 2021-01-06 01:42:29

代码语言:javascript
运行
复制
from django.core.files import File

instance = ModelFile.objects.create()
with open('/home/filename.txt', 'w') as file:
    instance.ufile.save('filename.txt', File(file))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41006578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档