我有以下 Django 模型:
class State(models.Model):
name = models.CharField(max_length=80,null=False)
latitude = models.CharField(max_length=80,null=False)
longitude = models.CharField(max_length=80,null=False)
def __unicode__(self):
return self.name
在我的 views.py 文件中,我创建了以下方法:
def getCoords(request):
if request.is_ajax():
if request.method == 'POST':
try:
state = request.POST['state'] #receives the state from JS
stateInstance = State.objects.get(name=state)
stateLat = stateInstance.latitude
stateLong = stateInstance.longitude
data = {"lat" : stateLat, "long" : stateLong}
except State.DoesNotExist:
return HttpResponse("No record")
return HttpResponse(simplejson.dumps(data)) #returns json
所以我通过 ajax 向这个方法发送一个参数,比如说“加利福尼亚”。状态变量获取值(我已经证明)但查询没有被执行,它返回查询不匹配消息。我也尝试过以下方法:
state = request.POST['state']
if state == 'California':
return HttpResponse("Yes!")
else:
return HttpResponse(state)
当此代码段返回州时,它显示加利福尼亚,这意味着州的值是正确的,但查询未正确执行。我不知道发生了什么事。有什么想法吗?