如何仅获取外键django过滤器上的最新记录

Bri*_*esh 2 django django-models django-orm

我有一张像这样的事件表

| id | 状态| 日期| order(FK)|

| 1 | 计划中| 2015年5月2日| 1 |

| 2 | 已交付 2015年4月2日| 2 |

| 3 | 包装好的 2015年3月2日| 3 |

| 4 | 返回| 2015年6月2日| 1 |

我想要这样的输出

| id | 状态| 日期| order(FK)|

| 2 | 已交付 2015年4月2日| 2 |

| 3 | 包装好的 2015年3月2日| 3 |

| 4 | 返回| 2015年6月2日| 1 |

我尝试使用query = Event.objects.annotate(order_num = Max('date')),但没有得到预期的结果。我如何实现此输出

NS0*_*NS0 5

尝试使用以下内容:

from django.db.models import Max

Event.objects.annotate(max_date=Max('order__event__date')) \
             .filter(date=F('max_date'))
Run Code Online (Sandbox Code Playgroud)