我得到了:
data= u'{"1":"Mubashir","2":"your@email.com","3":"9995735310","4":"headrun","5":"kannur","6":"in","7":"1","8":"2","9":"3"}'
通过我的views.py中的get请求。 我想将前6个数据保存到一个名为customer的表中,接下来的3个数据(7,8和9)包含另一个名为answer的表的主键,用于将新保存的客户存储为应答表的外键
以下是代码:
def customer(request):
answer=request.GET['data']
jsonData=json.loads(answer)
entry = Customer(name = jsonData["1"], email = jsonData["2"], phone = jsonData["3"], company=jsonData["4"], city=jsonData["5"], country=jsonData["6"])
entry.save();
for key in sorted(jsonData)[:6]:
a=int(jsonData[key])
answer=Answer.objects.get(pk=a);
answer=Answer(customer=entry);
answer.save();
正确填写了客户表。我在映射主键值时遇到问题。通过以下错误显示:
invalid literal for int() with base 10: 'Mubashir'
Request Method: GET
Request URL: http://fundoocode.ninja:8012/customer?data=%7B%221%22%3A%22Mubashir%22%2C%222%22%3A%22your%40email.com%22%2C%223%22%3A%229995735310%22%2C%224%22%3A%22headrun%22%2C%225%22%3A%22kannur%22%2C%226%22%3A%22in%22%2C%227%22%3A%221%22%2C%228%22%3A%222%22%2C%229%22%3A%223%22%7D
Django Version: 1.8.3
Exception Type: ValueError
Exception Value: invalid literal for int() with base 10: 'Mubashir'
Exception Location: /home/spartan313/proj/feedback/feedbackcollection/views.py in customer, line 63
Python Executable: /home/spartan313/proj/bin/python
Python Version: 2.7.9
Python Path:
['/home/spartan313/proj/feedback','/home/spartan313/proj/lib/python2.7','/home/spartan313/proj/lib/python2.7/plat-x86_64-linux-gnu','/home/spartan313/proj/lib/python2.7/lib-tk','/home/spartan313/proj/lib/python2.7/lib-old','/home/spartan313/proj/lib/python2.7/lib-dynload','/usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/home/spartan313/proj/local/lib/python2.7/site-packages','/home/spartan313/proj/lib/python2.7/site-packages']
答案 0 :(得分:0)
您正在访问前6个不是从6开始到最后一个
for key in sorted(jsonData)[:6]:
这个循环会给你
1
2
3
4
5
6
应该是
for key in sorted(jsonData)[6:]:
这个会给你
7
8
9