我想从数据库中只获得每个类别中价格最低的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)
答案 0 :(得分:0)
Category.objects.filter(id__in=[1,2,3]).category_product.order_by('price').values('id', 'price')[:3]