我正在尝试使用 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 shell 我可以做到这一点
>>>from platform.externaldb import Location
>>>print Location()
>>>[(u'India-01',), (u'Singapore-01',), (u'Europe-01',)]
所以我得到了值,但是如何让它出现在下拉框中.. 这是我的 forms.py
表格.py
from platform.externaldb import Location
zone = forms.ModelChoiceField(Location(), label='Zone')
但这对我不起作用.. 我该怎么做才能使 3 个值出现在 ModelChoiceField 下拉列表中?
谢谢 - 奥利