如何在模型文本字段中将文件存储为字符串?

时间:2018-07-23 14:34:18

标签: django django-forms django-admin

我是Django的新手。我需要一些帮助。

我正在一个允许我编辑对象的管理页面上。我的模型有一个我要填充文件内容的文本字段,该文件内容将与FileInput小部件一起以表格形式上传。

所以我想读取文件内容,将其放在字符串中并存储在模型文本字段中。因此,应将其保存在数据库中。

对此有任何帮助吗?我不知道如何获取文件,读取文件并将其作为字符串存储在我的模型中。我正在使用ModelAdmin btw。

1 个答案:

答案 0 :(得分:1)

首先,您可能只想使用model.FileFieldhttps://docs.djangoproject.com/en/2.0/ref/models/fields/#filefield)。数据库只需要存储文件的路径,而不是文件的全部内容。您可能不想将文件的内容直接存储在数据库中,尤其是在文件较大的情况下。

但是如果您想将文件读入模型中。尝试以下方法:

models.py

class SomeModel(Model):
    textfield = TextField()

views.py或您要调用的任何脚本

with open('data.txt', 'r') as myfile:
    data=myfile.read()
newmodel = SomeModel()
newmodel.textfield = data
newmodel.save()