可能重复:
How do you retrieve items from a dictionary in the order that they’re inserted?
我的django视图和模板有问题
获取与
等会议相关的详细信息后 for meeting in get_meetings:
if meeting.venue_id ==None:
mee_data = {}
mee_data['id'] = meeting.id
getdate = meeting.meeting_datetime
mee_data['date'] = getdate.strftime("%Y-%m-%d")
mee_data['end_time'] = meeting.end_time
mee_data['meeting_duration'] = meeting.meeting_duration
mee_data['start_time'] = meeting.start_time
mee_data['meetingID'] = meeting.meetingID
mee_data['id'] = meeting.id
mee_data['start_time'] = meeting.start_time
mee_data['name'] = meeting.name
getall.append(mee_data)
其中getall是我在上面声明的列表
现在追加字典数据后。
我期待我的模板中的结果就像
[{"id": "REG_431103567", "date": "", "end_time": "", "meeting_duration": "", "start_time": "2012-10-29", "meetingID": 192dnjd, "name": "TEsts"},...]
基本上是键的顺序,但不幸的是结果就像。
[{"meetingID": "REG_431103567", "start_time": "", "meeting_duration": "", "end_time": "", "date": "2012-10-29", "id": 192, "name": "TEsts"},...]
请建议我在这里做什么,以便能够以正确的方式获得钥匙及其相应的价值。
谢谢
答案 0 :(得分:6)
我建议使用OrderedDict
按照插入顺序获取数据。
字典不维护订单,但是OrderedDict
是一个子类0f dict
可以保持订单。
示例:强>
>>> from collections import OrderedDict
>>> d=OrderedDict()
>>> d["key1"]="foo"
>>> d["key2"]="bar"
>>> d
OrderedDict([('key1', 'foo'), ('key2', 'bar')])
注意:OrderedDict
是在python 2.7中引入的,因此在以前的版本中不起作用。
答案 1 :(得分:1)
使用OrderedDict
代替普通dict
。
from collections import OrderedDict
for meeting in get_meetings:
if meeting.venue_id ==None:
mee_data = OrderedDict()
...