在django数据库中存储JSON变量
在我使用Gridster的应用程序中,我正在更改小部件的位置,然后将其保存为json变量。 因此,我不明白应该如何在views.py中定义一个函数,在models.py中定义一个可以存储json变量的类 我的HTML/JS模板是在django数据库中存储JSON变量,json,django,django-models,django-rest-framework,Json,Django,Django Models,Django Rest Framework,在我使用Gridster的应用程序中,我正在更改小部件的位置,然后将其保存为json变量。 因此,我不明白应该如何在views.py中定义一个函数,在models.py中定义一个可以存储json变量的类 我的HTML/JS模板是 var URL = "{% url 'my_view_url' %}"; $('.js-seralize-update').on('click', function () { var s = gridster.serialize();
var URL = "{% url 'my_view_url' %}";
$('.js-seralize-update').on('click', function () {
var s = gridster.serialize();
updated_grid=JSON.stringify(s);
$('#log').val(updated_grid);
function updategridster(){
var data = updated_grid;
$.post(URL, data, function(response){
if(response === 'success'){ alert('Yay!'); }
else{ alert('Error! :('); }
});
}
});
我的观点
def save_grid(request):
if request.method == 'POST':
# Some code to get json variable and store it to model
return HttpResponse('success') # if everything is OK
我想在models.py中编写一些与view.py相对应的类,以便保存JSON变量
Edit1
我的模特是
from django.db import models
from django.utils import timezone
from django.utils import simplejson as json
class update_grid(models.Model):
data = JSONField(null=True, blank=True)
我只想将视图中的数据发送到此模型(如果正确)
编辑2
我的JS脚本更新如下
var URL = "{% url 'save-grid' %}";
$('.js-seralize-update').on('click', function () {
var s = gridster.serialize();
updated_grid=JSON.stringify(s);
$('#log').val(updated_grid);
function updategridster(updated_grid){
var data = updated_grid;
$.post(URL, data, function(response){
if(response === 'success'){ alert('Yay!'); }
else{ alert('Error! :('); }
});
}
updategridster(updated_grid);
});
现在我得到了这个错误
POST http://localhost:8000/calendar_grid/save-grid net::ERR_CONNECTION_ABORTED jquery.min.js:2
如果使用PostgreSQL,则具有内置的
另外还有几个实现,比如,对于admin,我将其与之配对
然后,您可以将JSON数据保存在单个字段中,如果是内置的,您甚至可以对JSON结构中的特定键进行查询/筛选。如果使用PostgreSQL,您就拥有内置的JSON数据
另外还有几个实现,比如,对于admin,我将其与之配对
然后,您可以将JSON数据保存在单个字段中,对于内置字段,您甚至可以对JSON结构中的特定键进行查询/筛选。然后,如何将对应的views.py存储在models.py中,以便将变量存储在models中。py您在问如何设置modefield吗?您使用
model\u instance.fieldname=value
然后使用model\u instance.save()
我的意思是我应该写什么来代替”#一些代码来获取json变量
,并将其存储到我的视图中的model.py中,这样变量将被传递给models中的类。py我正在使用sqllite内置数据库不需要先创建或获取模型,然后设置它的值。您的模型不应命名为UpdateGrid,而应命名为UpdateGrid,然后您可以使用mymodel=UpdateGrid.objects.get(…)
获取它,然后运行mymodel.data=json\u data
和mymodel.save()
。这通常通过模型表单
完成。django网站上的教程介绍了这一点,我建议您仔细阅读。然后,如何将相应的views.py存储在models.py中,以便将变量存储在models.py中?您是否询问如何设置modefield?您使用model\u instance.fieldname=value
然后使用model\u instance.save()
我的意思是我应该写什么来代替”#一些代码来获取json变量
,并将其存储到我的视图中的model.py中,这样变量将被传递给models中的类。py我正在使用sqllite内置数据库不需要先创建或获取模型,然后设置它的值。您的模型不应命名为UpdateGrid,而应命名为UpdateGrid,然后您可以使用mymodel=UpdateGrid.objects.get(…)
获取它,然后运行mymodel.data=json\u data
和mymodel.save()
。这通常通过模型表单
完成。django网站上的教程介绍了这一点,我建议您浏览一下。