将数据从Django视图发送到模型

时间:2018-03-05 16:59:58

标签: django sqlite django-models

我有JSON变量,我可以从Javascript中获取。我想将它保存在数据库中。我无法为它编写精确的视图函数

我的models.py

from django.db import models
from django.utils import timezone
from jsonfield import JSONField

    class update_grid(models.Model):
        data = JSONField(null=True, blank=True)
        def __str__(self):
            return self.title

我的View.py

def save_grid(request):
    if request.method == 'POST':
    data = json.loads(request.body)# I want to send this variable to update_grid and save it

    return HttpResponse('success') # if everything is OK

当我签入管理员时,没有名为update_grid的模型出现。

1 个答案:

答案 0 :(得分:1)

阅读你的评论,以及你发布的内容,有很多东西可能会丢失,但我不确定你有什么和没有做过。

在模型文件中,您将模型命名为update_grid,因此您需要确保将其添加到admin.py文件中,以便它出现在那里。

我并非100%确定您正在正确加载JSON域,但如果它可以正常工作。 Here是关于该文档的文档,尽管这是问题所在。传统上,尽管您可能希望将JSON对象解析为存储在模型中的特定字段,但我们都有不同的目标。

在views.py文件中,如果尚未导入模型,则需要导入模型。收到数据后,您需要将其保存到模型中。 Here是关于如何正确保存的链接,它看起来如下所示:

from .models import update_grid
data = json.loads(request.body)
grid = update_grid(data=data)
grid.save()

希望这会有所帮助,如果您需要更多帮助,请发表评论,我可以尝试进一步提供帮助。但是,如果您还没有这样做,我建议您查看一下Django Tutorial,因为它可能有助于消除您的一些困惑。