0
こんにちは、私はcsvファイルを生成するDjangoビューを作成しています。かなり簡単。私の見解では私が持っている:CSV形式のDjango動的フィールド出力
どのように私は、テキストとして出力モデルフィールドの名前をので、私は最初の行にフィールドのタイトルを書くことができます:
def mysearch(request, exportCSV): ... if 'q' in request.GET or exportCSV: results_list = request.session['results_list'] ... if exportCSV: response = HttpResponse(mimetype='text/csv') response['Content-Disposition'] = 'attachment; filename=myfile.csv' writer = csv.writer(response) # write field titles writer.writerow(['name_of_firstfield', 'name_of_secondfield', ... ,]) for row in results_list: # write row content writer.writerow([row.firstfield, row.secondfield, ... , ]) return response
ここでは2つの質問は、実際にあります。 。
どのようにして各フィールドを指定するのを避けることができますか(私は多くのフィールドを持っていると考えています)。私は基本的に各行のために、それぞれのフィールド名を出力し、各データを出力するように言いたい。
ここではgetattr
を使用できますか?
+1(ヘッダとしてcolumnではなく 'field.name'を使用する方が良い)。 –
良い答え。しかし、私のクエリは非常に複雑で、複数の結合が必要なので、プロセスのいくつかの時点で必要なフィールドをリストしていると思います。 –