python临时排序_python-在Django临时目录中对相关项目进行排序
是否可以在DJango模板中对一组相关项目进行排序?
也就是说:此代码(为清晰起见,省略了HTML标记):
{% for event in eventsCollection %}
{{ event.location }}
{% for attendee in event.attendee_set.all %}
{{ attendee.first_name }} {{ attendee.last_name }}
{% endfor %}
{% endfor %}
显示几乎完全想要我想要的。 我唯一要更改的是我要按姓氏排序的与会者列表。 我试图说这样的话:
{% for event in events %}
{{ event.location }}
{% for attendee in event.attendee_set.order_by__last_name %}
{{ attendee.first_name }} {{ attendee.last_name }}
{% endfor %}
{% endfor %}
las,上面的语法不起作用(它产生一个空列表),我想到的任何其他变体也没有(报告了很多语法错误,但没有喜悦)。
在我看来,我当然可以产生某种类型的已排序与会者列表,但这是一个丑陋且脆弱(我提到过丑陋)的解决方案。
不用说,但无论如何我还是会说,我仔细阅读了在线文档,搜索了Stack Overflow和django-user的档案,却没有发现任何帮助(啊,如果只有查询集是字典dictsort会做的事情, 工作,但不是,不是)
==============================================
编辑以添加其他想法接受陶玛斯的回答后。
Tawmas完全按照我介绍的方式解决了这个问题-尽管解决方案不是我期望的。 结果,我学到了一种可以在其他情况下使用的有用技术。
汤姆的答案提出了一种方法,我已经在我的OP中提到过,但暂时拒绝了这种方法“丑陋”。
“丑陋”是一种直觉,我想澄清一下这是怎么回事。 这样做的时候,我意识到这是一个丑陋的方法,是因为我对将查询集传递到要呈现的模板的想法感到困惑。 如果我放宽要求,那么应该采取一种不丑陋的方法。
我还没有尝试过,但是假设视图代码没有传递查询集,而是遍历了查询集,生成了事件列表,然后用针对WAS排序(或过滤,过滤, 或其他任何方式)。 像这样:
eventCollection = []
events = Event.object.[filtered and sorted to taste]
for event in events:
event.attendee_list = event.attendee_set.[filtered and sorted to taste]
eventCollection.append(event)
现在,模板变为:
{% for event in events %}
{{ event.location }}
{% for attendee in event.attendee_list %}
{{ attendee.first_name }} {{ attendee.last_name }}
{% endfor %}
{% endfor %}
缺点是视图必须立即“实现”所有事件,如果存在大量事件,这可能会成为问题。 当然,可以增加分页功能,但这会使视图变得相当复杂。
好的一面是视图所属的视图中的“准备要显示的数据”代码,使模板着重于格式化视图提供的数据以进行显示。 这是正确的。
所以我的计划是将Tawmas的技术用于大桌子,将上述技术用于小桌子表,其大小由读者决定(笑)
python临时排序_python-在Django临时目录中对相关项目进行排序相关推荐
- python open 函数漏洞_python和django的目录遍历漏洞
(20210205学习笔记) 攻击者通过请求 http://220.181.185.228/../../../../../../../../../etc/sysconfig/network-scrip ...
- python读取文件并且排序_python 顺序读取文件夹下面的文件(自定义排序方式)...
我们在读取文件夹下面的文件时,有时是希望能够按照相应的顺序来读取,但是 file_lists=os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的.就比如读取下面这些文件,希望能 ...
- c++ 多个字符串排序_Python小白干货宝典:sorted()函数:列表元素排序
定义: sorted() 函数对所有可迭代的对象进行排序操作. 内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作. 语法: sorted 语法: sorted(i ...
- mysql联合索引排序_对mysql联合索引中的字段进行合理排序
在MySQL的where条件中,有时会用到很多的条件,通常为了加快速度会把这些字段放到联合索引中,可以更快的提高搜索速度: 但是对联合索引中字段顺序的合理排序,便更能提高速度 例子:select * ...
- python动物重量排序_python动物重量排序_Python小白干货宝典:sorted()函数:列表元素排序...
定义: sorted() 函数对所有可迭代的对象进行排序操作. 内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作. 语法: sorted 语法: sorted(i ...
- python遍历文件夹排序_python 顺序读取文件夹下面的文件(自定义排序方式)
我们在读取文件夹下面的文件时,有时是希望能够按照相应的顺序来读取,但是 file_lists=os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的.就比如读取下面这些文件,希望能 ...
- python url配置单独放在某个应用目录中
文件目录: 将 urls.py 文件复制blog目录下: 此时,blog文件夹下多了urls.py文件 现在对比,两个urls.py文件: 分离前:(只有website里有urls.py) 1 fro ...
- python echo函数_python如何调用php文件中的函数详解
前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...
- python 轮廓矩阵_python – 在3D numpy矩阵中绘制给定值的曲面轮廓
我有三个对应于xyz坐标空间的3D网格矩阵(X,Y,Z). 我还有一个3D Numpy矩阵A,其中A [i,j,k]包含一个与点(x,y,z)相关联的浮点数,其中x = X [i,j,k],y = Y ...
最新文章
- DCMTK:DcmFloatingPointDouble类的测试程序
- LVS(11)——wrr
- s3c2440第一个裸奔程序——跑马灯(转)
- mysql 结果集 超大_使用MySQL流式传输大型结果集
- 楼房顶顶面起渣是何原因?怎么修补?
- Ubuntu-20.04开机黒屏出现“dev/sda ... clean ... blocks”的信息
- 吴恩达神经网络和深度学习-学习笔记-31-池化层
- React移动端h5日历组件react-h5-calendar周日历 月日历 周视图 月视图自定义标记点
- matlab车牌自动定位,超级实用的车牌定位matlab程序
- 数字移动c语言课程设计,《移动应用开发》课程设计.doc
- python并行编程 - GPU篇
- 802.11ac物理层
- 移动机器人传感器——GNSS
- 隐函数存在定理1的几何解释
- 技术胖Web前端视频教程合集
- node+express实现文件上传功能
- Iperf测试问题处理指南
- lambda no instance(s) of type variable(s) T exist so that void conforms to R
- Unity3D获取游戏对象组件的三种方式
- 沈阳大学计算机李华,计算机自适应考试曝光率控制-数学专业毕业论文.pdf