DJANGO-减少queryset中的字段数量
我有一个模型产品,有很多字段(~50)。 我有一个过滤器,如:DJANGO-减少queryset中的字段数量,django,django-queryset,Django,Django Queryset,我有一个模型产品,有很多字段(~50)。 我有一个过滤器,如: sale = Product.objects.filter(id=2) 但是这给了我id=2的所有50个字段,所以我尝试只添加以减少queryset大小,因为我只需要2个字段: sale = Product.objects.filter(id=2).only("Origin","Price") 现在我想用sale获取价格。价格,但我有错误 'QuerySet' object has no
sale = Product.objects.filter(id=2)
但是这给了我id=2的所有50个字段,所以我尝试只添加以减少queryset大小,因为我只需要2个字段:
sale = Product.objects.filter(id=2).only("Origin","Price")
现在我想用sale获取价格。价格,但我有错误
'QuerySet' object has no attribute 'Price'
您使用它不会返回单个Product
对象,而是Product
s的QuerySet
。因此,您不能使用sale.Price
,因为它不是单个产品
,而是产品
的集合
您应该使用来检索产品
对象。由于.get(…)
将立即进行查询,因此需要将.only(…)
子句放在前面:
sale = Product.objects.only('Origin', 'Price').get(id=2)
sale=Product.objects.only('Origin','Price').get(id=2)