假设我有以下Django模型:
class Info(models.Model):
instrument = models.ForeignKey('Instrument')
date = models.DateTimeField()
如何提取每个工具的最新日期条目?
答案 0 :(得分:3)
试试这个:
Instrument.objects.all().annotate(max_date=models.Max("info__date"))
它将返回所有乐器的列表,每个乐器都会有其他属性max_date
,其中包含此乐器的最新日期。
答案 1 :(得分:0)
如果您想获得每种乐器的最新Info
条目,您可以执行以下操作:
latest_notes = []
for instrument in Instrument.objects.all():
latest_note = instrument.info_set.order_by('-date')[0]
latest_notes.append(latest_note)
根据您拥有的Instrument
条记录数量,这可能会也可能不可行。