簡體   English   中英

將視圖連接到 Django 中的我的模型

[英]connecting the views to the my models in Django

我有這個數據:

[
    {
        "x": -1.31242086143345,
        "y": 0.40178573392332,
        "z": -1.02033965707123,
        "ts": 1580485700059,
    }]

我發布了此數據,並在我的視圖中使用此代碼收到了此數據:

def save_acc(request):
    accelerometer_data = json.loads(request.read())
    return JsonResponse(accelerometer_data,safe=False)

我根據第一個數據的每個元素創建了我的模型:

from django.db import models
class accelerometer_data(models.Model):
    x = models.DecimalField(max_digits=30, decimal_places=10)
    y = models.DecimalField(max_digits=30, decimal_places=10)
    z = models.DecimalField(max_digits=30, decimal_places=10)
    ts = models.DecimalField(max_digits=30, decimal_places=10)

因此,在 mysql 數據庫中,表的名稱是 accelerometer_data 並且有 5 列: id, x , y ,z ,ts我只需要每當我​​將數據發布到我的應用程序時,我需要直接將數據保存到我的數據庫中。 我想我必須將我的觀點與我的模型聯系起來,對於這個問題,但我不知道我該怎么做,謝謝你的幫助

在數據庫上保存時試試這個

    {
        "x": -1.31242086143345,
        "y": 0.40178573392332,
        "z": -1.02033965707123,
        "ts": 1580485700059,
    }]

accelerometer_data.objects.filter(x=data[0]['x'], y=data[0]['y'],z=data[0]['z'], ts=data[0]['ts']).save()

在您的視圖中from .models import modelname_here 導入您的模型from .models import ``

在您閱讀發布以查看的數據后,創建一個 accelerometer_data 對象並填充值然后保存它。

accelerometer_data = request.POST.get("data")
for data in accelerometer_data:
    accelerometer_data.objects.create(x=data['x'], y=data['y'],z=data['z'], ts=data['ts']).save()

有用的東西:使用 CamelCase 作為模型/類名稱。 所以 AccelerometerData 將是模型的正確名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM