我想用我的Django的模型來生成一個列表Django的模型對象的Python列表
說我有這些模型:
class AlarmServer(models.Model):
ip = models.IPAddressField()
和這樣的列表
server_ips = [i.ipfor i in AlarmServer.objects.all()]
隱而不宣」 t似乎工作,我做錯了什麼?
我想用我的Django的模型來生成一個列表Django的模型對象的Python列表
說我有這些模型:
class AlarmServer(models.Model):
ip = models.IPAddressField()
和這樣的列表
server_ips = [i.ipfor i in AlarmServer.objects.all()]
隱而不宣」 t似乎工作,我做錯了什麼?
server_ips = [i.ip for i in AlarmServer.objects.all()]
應該工作(我只是增加了一個空格)。我試過這個如下
[email protected] % ./manage.py shell
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from mysite_org.videos.models import Video
>>> url_list = [v.url for v in Video.objects.all()]
>>> url_list
[u'http://media.mysite.org/videos/sblug_jan2009.flv', u'http://media.mysite.org/videos/sblug_feb2009.flv', u'http://media.mysite.org/videos/phpwm_mar2009.flv', u'http://media.mysite.org/videos/sblug_may2009.flv', u'http://media.mysite.org/videos/sblug_june2009.flv', u'http://media.mysite.org/videos/sblug_sep2009.flv', u'http://media.mysite.org/videos/bugjam-oct-2009.flv']
我認爲你可以將'.iterator()'加到這個查詢集的末尾來節省內存。 'AlarmServer.objects.all()。迭代器()'。查看:http://www.djangoproject.com/documentation/models/lookup/ – thornomad 2009-10-28 15:00:37
server_ips = [i[0] for i in AlarmServer.objects.values_list('ip')]
不知道這是OP想要什麼,但是你可以通過簡單地執行'AlarmServer.objects.values_list( 'ip',flat = True)' – 2009-10-28 10:01:38
「似乎不工作」?那是什麼意思?當你嘗試時會發生什麼?你會得到什麼輸出?它給了什麼錯誤? – 2009-10-28 09:31:54