django return 查询列表而不是一项查询
django return querylist instead of one item query
我正在使用过滤器在 Django 模型中查询,但是
我希望 django return 一个查询
而不是查找查询列表
product = Product.objects.filter(slug=slug)
它return<QuerySet [<Product: Product object (2)>]>
相反,我想要这样的东西
<Product: Product object (2)>
所以我可以像 product.price
一样访问该对象的字段
您正在使用将 return 查询集的过滤器。如果您想要符合条件的一项,请使用 get.
product = Product.objects.get(slug=slug)
如果您知道结果中只有一项,您可以使用 first
直接访问它
product = Product.objects.filter(slug=slug).first()
或使用get:
from django.core.exceptions import ObjectDoesNotExist
try:
p = Product.objects.get(slug=slug)
except ObjectDoesNotExist:
print("That product doesn't exist.")
如果您的结果中有项目列表,则遍历它们:
products = Product.objects.filter(slug=slug)
for product in products:
print(product.price)
我正在使用过滤器在 Django 模型中查询,但是 我希望 django return 一个查询
而不是查找查询列表product = Product.objects.filter(slug=slug)
它return<QuerySet [<Product: Product object (2)>]>
相反,我想要这样的东西
<Product: Product object (2)>
所以我可以像 product.price
您正在使用将 return 查询集的过滤器。如果您想要符合条件的一项,请使用 get.
product = Product.objects.get(slug=slug)
如果您知道结果中只有一项,您可以使用 first
直接访问它product = Product.objects.filter(slug=slug).first()
或使用get:
from django.core.exceptions import ObjectDoesNotExist
try:
p = Product.objects.get(slug=slug)
except ObjectDoesNotExist:
print("That product doesn't exist.")
如果您的结果中有项目列表,则遍历它们:
products = Product.objects.filter(slug=slug)
for product in products:
print(product.price)