dictsort 没有结果

Posted

技术标签:

【中文标题】dictsort 没有结果【英文标题】:dictsort gives no resuts 【发布时间】:2019-12-16 09:21:18 【问题描述】:

我在视图中的 2 个地方使用了查询集 fields

一个按另一个字段排序,另一个按分面排序。我想在页面上以 2 种方式对数据集进行排序,而不是两次传递查询集。

我正在尝试使用dictsort 来执行此操作,正如here 和其他一些问题所概述的那样。

我的代码中有这个:

% for field in fields|dictsort:"facet_order" %
    field.facet_order
% endfor %

但我没有看到任何渲染。

在没有dictsort 的情况下,循环可以正常工作,并且作为健全性检查,我已经运行以下没有问题:

% for field in fields %
    field.facet_order
% endfor %

它产生:

None None None None 1 0 None ...

我的代码在我看来很像下面的 django 文档示例:

% for book in books|dictsort:"author.age" %
    *  book.title  ( book.author.name )
% endfor %

我在这里做错了什么?

【问题讨论】:

【参考方案1】:

要回答我自己的问题,我必须按照我找到的答案here 中所述注册一个自定义模板函数

我是按照here 概述的 djangos 示例完成的:

# Add templatetags/poll_extras.py
polls/
    templatetags/
        __init__.py
        poll_extras.py


# Inside templatetags/poll_extras.py
from django import template
register = template.Library()

@register.filter
def sort_by(queryset, order):
    return queryset.order_by(order)


# in the template:
% load poll_extras %

【讨论】:

以上是关于dictsort 没有结果的主要内容,如果未能解决你的问题,请参考以下文章

Django内置模版过滤器

没有结果也没有错误(reactjs)

如果没有表格视图结果,则在屏幕上显示“无结果”

jQuery UI 自动完成 - 没有结果消息

W3C 地理定位 API 没有错误 没有期望也没有结果

我是 sql 新手。没有得到查询结果。运行良好,没有错误