Djangoアプリでの作業。のリストがads
あり、テンプレートでこれらをフィルタリングできるようにしたいと考えています(たとえば、のすべての広告を取得してからspot_id = 1
、ランダムな広告を選択します。
私はDjangoの不思議なクエリの代わりにカーソルを介して生のSQLを使用しているので、すでにリストを持っています(dictに変換されています)。これが私がこれまでに持っているものです:
# list/dict of ads
[
{'filename': u'rc_ad_06_02_11.gif', 'spot_id': 1L },
{'filename': u'k_banner.jpg', 'spot_id': 1L},
{'filename': u'dwarves-banner.gif', 'spot_id': 1L},
{'filename': u'k_skyscraper.jpg', 'spot_id': 2L }
]
# attempt to group them somehow
final_ads = []
last_spot_id = 0
for a in ads:
if a['spot_id'] != last_spot_id:
final_ads[a['spot_id']][] = a # syntax error here
last_spot_id = a['spot_id']
logger.info(final_ads)
これは機能しません。私が本質的に到達しようとしているのは、この種の構造のリストです。
[
1: [
{'filename': u'rc_ad_06_02_11.gif', 'spot_id': 1L },
{'filename': u'k_banner.jpg', 'spot_id': 1L},
{'filename': u'dwarves-banner.gif', 'spot_id': 1L}
],
2: [
{'filename': u'k_skyscraper.jpg', 'spot_id': 2L }
]
]
(これを表現する適切な方法を考えることができませんでした、それが正しく見えない場合は申し訳ありません)。
誰かがこれを行うためのより賢い方法を私に示すことができれば、私は非常に感謝するでしょう。ありがとう。