【发布时间】:2014-04-30 17:33:42
【问题描述】:
我正在 Django 中创建一个简单的搜索结果页面。
用户通过文本搜索并从下拉列表中添加城市字段。
查询如下:
if 'query' in request.GET and request.GET['query']:
city = request.GET['city']
q = request.GET['query']
ct = Classified.objects.filter(name__icontains=q).filter(city__exact=city)
return render(request, 'template/search.html', {'ct': ct, 'query': q})
Classified的模型如下:
class Classified(models.Model):
name = models.CharField(max_length=256, unique=True)
email = models.CharField(max_length=100)
category = models.ForeignKey(Categories)
phone_number = models.IntegerField(max_length=10, default=0)
address = models.CharField(max_length=1000)
id = models.IntegerField(primary_key=True)
city = models.ForeignKey(Cities)
image = models.ImageField(blank=True, upload_to='static/img/')
def __unicode__(self):
return self.name
城市如下:
class Cities(models.Model):
name = models.CharField(max_length=256)
def __unicode__(self):
return self.name
在搜索时,/search/ 页面给了我以下错误:
invalid literal for int() with base 10: 'Searched-city'
我错过了什么?
【问题讨论】:
-
你有完整的回溯吗?
-
相关问题列表中有很多看起来非常相似的问题。你看看吗?
-
@devnull,是的,我确实看过这两个:stackoverflow.com/questions/13861594/… 和这个stackoverflow.com/questions/1841565/…。没有太大帮助。