它显示类似TypeError的错误:格式字符串的参数不足,如何解决此问题。
views.py
def GetMobilefollowpopularnewsproviderTest(request,user_id):
print "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" if request.method == 'GET': # news_provider = request.POST.get("news_provider") print user_id cursor = connection.cursor() queryset = cursor.execute("select news_crawl_newsproviders.news_provider as id, 1 as status from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s' union select news_crawl_newsproviders.news_provider, 0 from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id!='%s' and news_crawl_newsproviders.news_provider not in(select news_crawl_newsproviders.news_provider as id from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s');select news_crawl_newsproviders.news_provider as id, 1 as status from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s' union select news_crawl_newsproviders.news_provider, 0 from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id!='%s' and news_crawl_newsproviders.news_provider not in(select news_crawl_newsproviders.news_provider as id from news_crawl_newsproviders join accounts_follownewsprovider on news_crawl_newsproviders.id=accounts_follownewsprovider.provider_id where accounts_follownewsprovider.user_id='%s');"%(user_id)) dict = {} dict = dictfetchall(cursor) print(dict) context = { 'posts': dict } return JsonResponse(context, safe=False) return HttpResponse(status=201)
urls.py
url(r'followpopularnewsprovider/(?P<user_id>\d+)/$', csrf_exempt(views.GetMobilefollowpopularnewsproviderTest), name='popularprovider')
在您的查询集中,%s尽管您通过%(user_id)了一次,但您有多个
您应该以您定义的格式字符串传递所有参数
cursor.execute("..." % (param1, param2, param3, param4,...))
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。