【问题标题】:How to update the las row of the table with Django OMR queryset?如何使用 Django ORM 查询集更新表的最后一行?
【发布时间】:2021-06-09 23:49:33
【问题描述】:
我正在尝试使用 django OMR 进行更新,但我不知道 ID。只有我知道我想更新最后一条记录。其他列没有用,因为除了日期列之外数据相似(可能是一个选项,但 django OMR 无法识别我的查询)
我的实际查询:
Tracking = TrackEExercises.filter(
exe_date = (fecha + delta).replace(microsecond=0)
).update(data_tracking = dataT)
【问题讨论】:
标签:
python
python-3.x
django
django-queryset
【解决方案1】:
你可以简单的根据id获取最后一条记录:
last_record = TrackEExercises.objects.filter(exe_date=your_exe_date).order_by('-id')[0]
# Update
last_record.data_tracking = dataT
last_record.save()
你也可以使用.last()和.first():
TrackEExercises.objects.filter(exe_date=your_exe_date).order_by('-id').first()
TrackEExercises.objects.filter(exe_date=your_exe_date).order_by('id').last()
返回相同的记录。
您可以使用order_by() 根据日期等任何其他字段对结果进行排序:
TrackEExercises.objects.order_by('-exe_date')