python - 在 django 查询集中排列键顺序

标签 python django dictionary django-queryset

我有一个 Django 查询,我从不同的数据库获取一些信息,我想将其公开给前端:

specifics = PageData.objects.filter(page_id__in=page_ids).values('page_id'). \
                annotate(views=Count('page_id')).                            \
                values('views', 'page__title', 'page__content_size')

这又给了我一个字典列表 - 提示是列表(具体):

[
{'page__content_size': 19438L,
  'page__title': u'Bosch Tassimo Charmy anmeldelse. Positivt: Bryggehastighed. Negativt: Placering af vandtanken.  | 96 Grader',
  'views': 5},
 […]
 {'page__content_size': 19395L,
  'page__title': u'Banwood First Go Balance Bike - studiominishop.com',
  'views': 1}
]

我希望能够安排每个字典中键的顺序,这意味着按照我提供的所需和特定的顺序。列表中每个元素的顺序始终相同。

有没有办法在 Django 或 Python 中做到这一点?

最佳答案

您可能需要这个:

import collections

OrderedDict dict subclass that remembers the order entries were added

此处的文档:https://docs.python.org/3/library/collections.html#collections.OrderedDict

在这里您可以找到完整的示例:

https://pymotw.com/2/collections/ordereddict.html

d = collections.OrderedDict()
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
d['d'] = 'D'
d['e'] = 'E'

for k, v in d.items():
    print k, v`

希望这有帮助, 再见!

关于python - 在 django 查询集中排列键顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585812/

相关文章:

python - 找到错误 CSV : coercing to Unicode: need string or buffer, S3BotoStorageFile

python - pip install google-cloud-pubsub 在 docker 容器中安装失败

Python 查找自己的代码中使用其他变量的位置

如果 Django 表单缺少字段,则 JavaScript 警报框

c# - 在 C# 中使用 LINQ 减少字典中的重复项

c++ - 向 typedef 添加函数

c++ - 使用相同的键高效地迭代多个映射

python - 如何解决 broyden1 np.ndarray 调用问题?

python - 实时数据监视器 : PyQtGraph

Django 消息框架和 login_required