1

JSON オブジェクトをサーバー側にポストし、リクエストを通じてその情報を取得しています。今、これは私のviews.pyのコードです

@csrf_exempt
def save(request):
    if request.method == 'POST':
        rawdata = request.body
        JSONData= json.dumps(rawdata)
    return HttpResponse(rawdata)

rawdata を返すと、応答は次のようになります。

[{"time_elapsed":"0","volts":"239.3","amps":"19.3","kW":"4.618","kWh":"0","session":"1"},...]

JSONdata を返すと、応答は次のようになります。

"[{\"time_elapsed\":\"0\",\"volts\":\"239.1\",\"amps\":\"20.8\",\"kW\":\"4.973\",\"kWh\":\"0\",\"session\":\"1\"},....]

Python/Django を使用してこのデータを sqlite データベースに挿入しようとした場合、どちらの応答が優れていますか?

また、この種のコードを実行する必要があるため、ループを開始するにはどうすればよいですか?

conn = sqlite3.connect('sqlite.db')
c = conn.cursor()
c.execute("INSERT STATEMENTS")

そのコードの INSERT STATEMENTS 部分のループを実行する必要があると思いますが、作業するキーがありません。私のデータでは、{} の間のすべてが 1 行です。{...data...} が新しい行に挿入されるたびに、この配列を反復処理するにはどうすればよいですか?

4

2 に答える 2

0

おそらく、そのデータを db に格納する必要がある場合は、それを表すモデルを作成するのが最善であり、ModelFormPOST を処理するために関連付けられたモデルを作成します。

このように、モデルを db に保存するのは簡単で、json 応答としてシリアル化するのは次のようなものです。

data = serializers.serialize('json',
                             YourModel.objects.filter(id=id),
                             fields=('list','of','fields'))

return HttpResponse(data, mimetype='application/json')
于 2013-07-02T13:22:41.123 に答える