我需要这样做的原因是按相反的时间顺序显示活动线程。我通过将多个对象链接到一个对象然后在一个位置显示来实现这一点。 目前我有:
contacts = User.contact_created_by.all()
companies = User.company_created_by.all()
tasks = User.tasks_created_by.filter(isComplete=True)
activity = sorted(
chain(contacts, companies, tasks),
key=lambda instance: instance.created_on, reverse=True)
但是我需要在结果对象中按“ completion_date”而不是“ created_on”日期对任务进行排序。
我尝试使用了lambda函数:
key=lambda instance: instance.complete_date if (isinstance(instance, Task)) else instance.created_on, reverse=True)
但是由于“联系人”和“公司”模型没有“ complete_date”字段,因此出现错误。
基本上,问题是要组合不同的对象,并按不同的字段对它们进行排序(但类型相同-日期!)。例如,我进一步计划将“事件”对象添加到需要在活动线程中显示的“事件”对象,并带有某种类型的“事件日期”。
因此结果将类似于以下内容(按时间倒序排列):
Today:
-event X happened
-contact X created
-task X completed
Yesterday:
-task Y completed
-company X created
The day before yesterday:
-company Y created
答案 0 :(得分:0)
#menu-toggle:checked~label i { /*Rotates when checked*/
transform: rotate(180deg);
transition: all ease-in-out .3s
}
#menu-toggle:checked:after~label i { /*My trial to reach the same reverse rotation when unchecked*/
transform: rotate(-180deg);
transition: all ease-in-out .3s
}