2017-08-24 8 views
1

.csv構造のファイルを処理する必要があり、データベースにフィールドとして格納されています。アプリケーションの主な機能は、このファイルを処理して出力を生成することです。Django dbにレコードとして保存されたテキストファイルを開きます

新しいバージョンをアップロードする必要がありますが、古いバージョンのレコードを保持する必要があります。これらは小さなファイルで、めったに300kbを超えていません。アップローダーの名前、日付、バージョンなどの追加フィールドも必要です。そのため、ローカルファイルではなくDBにレコードとして保存しています。 ファイルレコードは、どのように私はいないフィールドとしてではなく、ファイルオブジェクトとしてこのレコードにアクセスし、通常の.txtようにそれを開くことができますタイプmodels.FileField()

でDBに格納されて?

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) ... 
+0

実際に開かれている構文解析が結果を表示することを期待していますか?既にテンプレートを定義しましたか? – PRMoureu

+0

はい、今のところ私はファイルが開かれたことを確認して、簡単なprint()を使ってターミナルウィンドウにログオンしようとしていることを確認しようとしています。 –

答えて

2

あなたはallを呼び出した後、the documentationに例示するように、ファイルのpathを使用する必要があります。私が試したが、それはうまくいきませんでした何

。または、この簡単なテストでは、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) 
関連する問題