获取每个类别中产品价格最低的类别产品(Django查询集)

时间:2018-04-16 12:22:55

标签: python django

我想从数据库中只获得每个类别中价格最低的3个类别,所以我尝试这样做

Category.objects.get(id=1).category_product.all().values('price').order_by('price')[0]

Category.objects.get(id=2).category_product.all().values('price').order_by('price')[0]

Category.objects.get(id=3).category_product.all().values('price').order_by('price')[0]

如何简化此查询集,获得每个类别中产品价格最低的三个类别?获得一个请求

class Product(models.Model):
    name = models.CharField(max_length=255)
    category = models.ForeignKey(Category, on_delete=models.PROTECT, null=True, related_name='category_product')

class Category(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField(unique=True)
    image = models.ImageField(upload_to='images', null=True, blank=True)

1 个答案:

答案 0 :(得分:0)

Category.objects.filter(id__in=[1,2,3]).category_product.order_by('price').values('id', 'price')[:3]
相关问题