【问题标题】: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')
    

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 2016-03-25
      • 2013-02-25
      • 2021-07-25
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多