打开文本文件存储为Django db中的记录

时间:2017-08-24 17:39:57

标签: python django django-views

我需要处理具有.txt结构的.csv文件,并将其作为字段存储在数据库中。应用程序的主要功能是处理此文件并生成输出。

每隔一段时间我就需要上传新版本但保留旧版本的记录。这些是微小的文件,很少超过300kb。我还需要包含上传者名称,日期,版本等的其他字段,这就是我将其作为记录保存在数据库而不是本地文件中的原因。 文件记录存储在类型为models.FileField()

的DB中

如何将此记录作为字段而不是文件对象进行访问,并像通常.txt一样打开它?

我尝试了但是它没有工作:

listofschedules = ScheduleFile.objects.all
file = listofschedules[0].csvSchedule

with open(file, 'rt', encoding='windows 1250') as csv_input:
      reader = csv.reader(csv_input, delimiter=';')
      print(reader) ...

1 个答案:

答案 0 :(得分:2)

您需要致电all,然后使用文件path,如the documentation中所示。或者,对于这个简单的测试,您可以使用first

file = ScheduleFile.objects.first().csvSchedule

with open(file.path, 'rt', encoding='windows 1250') as csv_input:
    reader = csv.reader(csv_input, delimiter=';')
    print(reader)