Django连接查询

Django连接查询,django,django-orm,Django,Django Orm,我有一个骑乘和车辆表,其中 class Ride(models.Model): id = models.AutoField(primary_key=True) user = models.ForeignKey(User) vehicle = models.ForeignKey(Vehicle, blank=True, null=True, unique=False) state = models.CharField(max_length=255, blank=T

我有一个
骑乘
车辆
表,其中

class Ride(models.Model):
    id = models.AutoField(primary_key=True)

    user = models.ForeignKey(User)
    vehicle = models.ForeignKey(Vehicle, blank=True, null=True, unique=False)
    state = models.CharField(max_length=255, blank=True, null=True)
我想返回一个车辆列表,其中它们的最后一次
行驶状态
不等于
已完成

有没有办法通过ORM做到这一点

 from django.db.models import Max, F
 Vehicle.objects.annotate(last_ride_id=Max("ride__id")).filter(ride_id=F("last_ride_id").exclude(ride__state="COMPLETE").distinct()

未测试但应该可以工作

您知道如何在SQL中执行此操作了吗?没有,但我有一个列表理解解决方案,它非常糟糕,我得到的驱动程序数据库的O(n)大小最大值没有定义。当我改为小写时,我得到的
骑乘id
未定义。很抱歉,忘记提供导入语句。现在我得到的骑乘id未定义。顺便说一句,有没有一个网站解释了所有这些?修复:是的,有django文档。谷歌进行django查询和谷歌django聚合