希望你一切都好
我有两个模型
class Property(models.Model):
....
city = models.ForeignKey(City,on_delete=models.CASCADE)
class City(models.Model):
img = models.ImageField(upload_to='city/img',blank=True,null=True)
name = models.CharField(max_length=200,unique=True)我想要3个拥有最多房产的城市意味着我想要拥有最多房产的城市
所以我使用这个查询:
city = City.objects.all().order_by("-property")[0:3]但这是不起作用的,因为它返回相同的值
下面是输出:
<QuerySet [<City: lahore>, <City: lahore>, <City: lahore>]>拉合尔拥有最多的房产,所以它只给我提供了拉合尔
我想要三个城市,例如city1、city2、city3,拥有最多的房产
发布于 2020-09-04 18:08:53
此输出意味着您的数据库中至少有3个名为“lahore”的城市对象,请尝试合并/删除其中一些。也试着在你的查询集中使用这个:
cities = City.objects.all().annotate(num_properties=Count('property')) \
.order_by('-num_properties')[:3]https://stackoverflow.com/questions/63738706
复制相似问题