我有一个像这样充满地理数据的 mysql 表:
locations
- city
- state
- zipcode
- lat
- lon
由于主要城镇有多个邮政编码,因此每个城镇都有多个记录。
例子:
"city": "BOULDER", "state": "CO", "zipcode": "80310"
"city": "BOULDER", "state": "CO", "zipcode": "80322"
"city": "BOULDER", "state": "CO", "zipcode": "80308"
...
"city": "BOULDER CITY", "state": "NV", "zipcode": "89005"
"city": "BOULDER CITY", "state": "NV", "zipcode": "89006"
我正在为我的网站创建一个自动完成插件,所以我需要查询 city='BOULDER', state='CO' 并让它只返回该城市的 1 个结果,而不是像使用那样返回 3 个结果以上数据。
我尝试将 group by 与 .values('city') 一起使用,但后来我只取回了城市名称,而不是我所有字段的字典之类的对象(正如我需要的那样)。
你们中的专家查询人员知道我如何在 Django 1.2 中完成这个吗?
最佳答案
最好的解决办法是改变你的表格,但这会给你一本包含你需要的所有信息的字典:
def location_query(my_city, my_state):
my_dict = {'city':my_city,'state':my_state}
zips = Location.objects.filter(city = my_city, state = my_state).values_list('zip', flat = True)
my_dict['zips'] = zips
return my_dict
boulder_dict = location_query('Boulder', 'CO')
关于python - Django,查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149036/