django - 基于最大日期的 Django 过滤器模型
问题描述
我有一个具有以下条目的模型药物:
id location num date country
1 UC ABC 2021-03-26 ZAF
2 UC DEF 2021-03-26 ZAF # line to retrieve with filter
3 UC ABC 2021-09-06 ZAF # line to retrieve with filter
我想根据组合 loc - num - date 的最大日期选择记录
例如,在上面的测试用例中,我只想返回最新的 2 条记录,因为 id 3 比 id 1 更新
解决方案
from django.db.models import Max
result = Drug.objects.values('location','num').annotate(max_date=Max('date')).order_by()
解释 :
从Drug
表中,按andgroup
的行(因此在您的示例中, row1 和 row3 将被分组在一起),然后获取记录location
num
Max('date')
推荐阅读
- python - 内核出现在 jupyter 笔记本中但无法正常工作
- python-3.7 - 安装scikit-extreme时如何解决安装错误?
- excel - excel中的除法公式
- c# - 移出 WPF 窗口时 WPF 拖放 DragDropEffects 发生变化
- reactjs - onClick 事件中的状态没有改变
- jenkins - 如何访问 Jenkins 管道帖子部分中的 git 标签
- c++ - Visual Studio 2019 上的 Windows 筛选平台 API
- ios - Xcode 11 Beta 中字体样式发生变化的问题
- cuda - 安装 cudatoolkit 时缺少 Nvcc?
- python - 如何在sqlite中删除1行2个变量?