Django Queryset过滤器(可能需要一个子查询)

2024-05-16 18:49:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想生成一个查询集来查找不匹配项。作为一个例子

class Vehicle(models.Model):
    car = models.CharField(max_length=100)
    model= models.CharField(max_length=100)
    passengers = models.IntegerField()

我想生成一个查询,在那里我可以找到错误地列出了两个不同型号的汽车。在

沿着查询的行查找如果car=Wrangler,model=Jeep来查找car=Wrangler的实例,model不是Jeep。在

这可以在ORM中实现吗,还是需要使用原始SQL?在django有人建议使用子查询,但我不熟悉如何执行此操作

样本输出 只是一个不匹配车辆的查询集(例如,一个对象存在car=Wrangler,model=Ford,而另一个对象的car=Wrangler,model=Jeep)。我想的不是输入只是能够找到不匹配。这有意义吗?在


Tags: 对象modelmodelscarlengthmaxclass例子
1条回答
网友
1楼 · 发布于 2024-05-16 18:49:45

如果我知道你需要在model+car中保持独一无二,那么你需要先找到重复的记录:

from django.db.models.aggregates import Count

repetitve_cars_list = Vehicle.objects.values('car').annotate(count_car=Count('car')).filter(co
unt_car__gt=1)

这将为您提供用多个model定义的cars

相关问题 更多 >