【问题标题】:Django: Sort order the list in objectsDjango:对对象中的列表进行排序
【发布时间】:2011-01-22 19:43:43
【问题描述】:

我有 list1 按 ID 排序。像这样:

['4','2','1','17'] #edited

如何按照list1的顺序从对象Entry中获取list2

如果是Query ValueList,还有关于问题的。

[u'4', u'2', u'1', u'17']

因为有些属性不在QuerySet中

感谢您的回答!

【问题讨论】:

  • list1 是随机顺序还是有某种模式?因为在您的示例中,ID 是按降序排列的。
  • list1 是随机排列的

标签: django django-models django-templates


【解决方案1】:

您也可以使用in_bulk(),然后按定义的顺序获取字典值。将其包裹在自定义管理器中以更加舒适

【讨论】:

    【解决方案2】:

    您需要使用 CASE ... WHEN ... THEN ... END 来对您的 ID 进行排序。在extra()select 参数中传递完整的CASE 子句,并将order_by 参数与给定的字段名称一起使用。

    【讨论】:

      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 2018-10-20
      • 1970-01-01
      • 2010-10-29
      相关资源
      最近更新 更多