2009-10-03 50 views
0

我有兩個變量,例如x和y。我還創建了一個有3個字段(經度,緯度,名稱)的模型,並在mysql數據庫中激活它。我需要將這兩個變量(x,y)發送到django服務器,以搜索是否有經度= x和緯度= y的對象。如果有一個我想要取回它的名稱。使用Django從數據庫請求數據

我該怎麼做?

回答

0

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經度和緯度的所有行:)

0
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將在控制檯顯示的名稱。

+0

如果存在多於1行的x,y在分貝,Django會爲你籌集:MultipleObjectsReturned:get()返回多個OurModel – panchicore 2009-10-03 17:47:49

+0

ü是正確的,我雖然可能只有一個...將解決我的答案。 – IProblemFactory 2009-10-03 17:57:05