0
我正在嘗試使用ModelChoiceField從外部數據庫獲取填充的值。如何使用Django將ModelChoiceField與外部數據庫值結合使用
我在setting.py添加一個附加的數據庫,並建立了一個externaldb.py文件在我的應用程序如下:
from django.db import connections
def Location():
rs = []
cursor = connections['mydb'].cursor()
cursor.execute("SELECT city FROM db.data_center WHERE removed is null;")
zones = cursor.fetchall()
for v in zones[::]:
rs.append(v)
的使用python manage.py殼我能做到這一點
>>>from platform.externaldb import Location
>>>print Location()
>>>[(u'India-01',), (u'Singapore-01',), (u'Europe-01',)]
所以我得到的值,但如何我得到的出現在一個下拉框。這是我的forms.py
forms.py
from platform.externaldb import Location
zone = forms.ModelChoiceField(Location(), label='Zone')
但是,這並不爲我工作..我這樣做,所以3個值是如何出現在ModelChoiceField下拉列表?
謝謝 - 奧利
我會盡力..雖然這似乎工作zone = forms.ModelChoiceField(queryset = Locations.objects.all(),label ='Zone') 。我以爲有人發佈了,但也許編輯他們的答案。我以爲我試過queryset = Locations.objects.all()之前,但現在它的工作.. – Oli 2012-08-16 11:36:04
使用ModelChoiceField和查詢集不起作用,因爲我以前的評論建議。我會嘗試ChoiceField選項 – Oli 2012-08-16 11:45:25
我一直無法獲得forms.ChoiceField(選擇= Locations(),label =「Zone」)才能正常工作。我一直得到這個錯誤'太多的值解包'。我會繼續挖掘..但任何想法? – Oli 2012-08-16 14:09:56