Django模型查询没有经历

时间:2013-01-18 18:38:40

标签: python django django-models django-views

我正在构建一个非常简单的应用程序,要求用户将城市名称添加到民意调查中,然后创建输入城市的频率分布。我的观点出于某种原因,不是通过名称(主键)从数据库中检索City对象。具体来说,根据我的跟踪声明,try:之后的第一个作业没有通过。因为我是新手,必须忽略一些非常明显的东西。请指教。

models.py:

from django.db import models

class City(models.Model):
    name = models.CharField(max_length='20', primary_key=True)
    count = 0

views.py:

def save(request):
name = request.POST['city_name']
try:
    city = City.objects.get(pk=name)
    print 'city does exist'
    city.count += 1
except City.DoesNotExist:
    print 'city does not exist'
    city = City()
    city.name = name
    city.count += 1
city.save()
return render_to_response('thanks.html', {'city_name':name})

2 个答案:

答案 0 :(得分:1)

更改city.save()

后,您需要致电city.count

您需要在try区块和except区块中执行此操作。

答案 1 :(得分:1)

你的模特应该是

class City(models.Model):
    name = models.CharField(max_length='20', primary_key=True)
    count = models.IntegerField(default=0)

作为旁注,(https://docs.djangoproject.com/en/1.4/ref/models/querysets/#get-or-create)可能有助于清理一些事情。

编辑: