我有兩個變量,例如x和y。我還創建了一個有3個字段(經度,緯度,名稱)的模型,並在mysql數據庫中激活它。我需要將這兩個變量(x,y)發送到django服務器,以搜索是否有經度= x和緯度= y的對象。如果有一個我想要取回它的名稱。使用Django從數據庫請求數據
我該怎麼做?
我有兩個變量,例如x和y。我還創建了一個有3個字段(經度,緯度,名稱)的模型,並在mysql數據庫中激活它。我需要將這兩個變量(x,y)發送到django服務器,以搜索是否有經度= x和緯度= y的對象。如果有一個我想要取回它的名稱。使用Django從數據庫請求數據
我該怎麼做?
Basicly你不能問到DB是否存在與經度= X,緯度= Y這樣的對象:
網址:
url(r'^get_name_by_xy/(?P<x>\d+)/(?P<y>\d+)/$', 'get_name_by_xy', name='get_name_by_xy'),
觀點:
def get_name_by_xy(request, x, y):
import YourModel
try:
info = YourModel.objects.filter(longitude=x, latitude=y)
for i in info:
print i.name
except YourModel.DoesNotExist:
print 'No coincidences'
有你如果有1個或多於1個的話,將獲得具有x,y經度和緯度的所有行:)
try:
x = OurModel.objects.filter(longitude=x, latitude=y)
for cur in x:
print cur.name
except OurModel.DoesNotExist:
print 'sorry, there is no record you are looking for :('
應該工作:)
當然,print
將在控制檯顯示的名稱。
如果存在多於1行的x,y在分貝,Django會爲你籌集:MultipleObjectsReturned:get()返回多個OurModel – panchicore 2009-10-03 17:47:49
ü是正確的,我雖然可能只有一個...將解決我的答案。 – IProblemFactory 2009-10-03 17:57:05