我实施的任务是,
json
文件存储为数据库中的字符串。json
文件代表一个可以对数据库table
执行的查询。一些例子是示例1
{ "name:"testrule1","query":"select * from students"}
要执行查询并获取结果,用户必须调用url
http://127.0.0.1/myview?testrule1
示例2
{ "name:"updaterule1","query":"UPDATE students SET name=%s, id=%s" where age=10}
要使用name = sample和id = 206更新表,用户必须调用url。
http://127.0.0.1/myview?updaterule1&sample&206
我的目标是在数据库中存储多个这样的json字符串 在网址调用上执行相应的查询。
但更新查询无法正常工作。我该怎么做才能让它发挥作用? 查询并将数据库存储在django中作为json数据。 这些是我的文件。
views.py
def view1(request,title):
p=query.objects.get(name=title)
cursor=connection.cursor()
cursor.execute(p.data["query"])
return HttpResponse(cursor.fetchall())
def view2(request,title,nam,roll):
cursor=connection.cursor()
q=query.objects.get(name=title)
p=Post.objects.raw(q.data["query"],[nam],[roll])
cursor.execute(q.data["query"])
transaction.commit()
h=Post.objects.raw('select * from posts_post')
return HttpResponse(h)
urls.py
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^posts/$', 'posts.views.posts_home'),
url(r'^create/$', 'posts.views.create'),
url(r'^results/$', 'posts.views.results'),
url(r'^myview/(?P<title>[\w]+)/$', 'posts.views.view1'),
url(r'^myview/(?P<title>[\w]+)&(?P<nam>[\w]+)&(?P<roll> \d+)/$','posts.views.view2'),
]