[英]Filtering out a foreignkey model out of a foreignkey model
Tryna filter all productimg objects of MainProduct but getting ValueError Cannot use QuerySet for "MainProduct": Use a QuerySet for "Product".
Tryna 过滤 MainProduct 的所有 productimg 对象,但得到
ValueError Cannot use QuerySet for "MainProduct": Use a QuerySet for "Product".
but can't use slug or id to filter it out of Product cuz it's homepage但不能使用 slug 或 id 将其从产品中过滤掉,因为它是主页
home:view [doesnt work]主页:查看 [不起作用]
#can't use slug here
def home(request):
mainproduct = MainProduct.objects.all()
productimg = ProductImage.objects.filter(
#wanna access all productimg objects of a single product i.e mainproduct
product=mainproduct
)
shop:view [works]店铺:查看 [作品]
def detail_view(request, slug):
products = Product.objects.get(slug=slug)
productimg = ProductImage.objects.filter(product=products)
shop:model店铺:model
class Product(models.Model):
name = models.CharField(max_length=150)
class ProductImage(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
image = models.ImageField(null=True, blank=True, upload_to='somewhere/')
home:model家:model
class MainProduct(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
mainproduct
is not a single product: it is a QuerySet
of all MainProduct
s, even if there is a single MainProduct
. mainproduct
不是单个产品:它是所有MainProduct
的QuerySet
,即使只有一个MainProduct
。 If there is exactly one MainProduct
, you query with.get(…)
[Django-doc] :如果只有一个
MainProduct
,您可以使用.get(…)
[Django-doc] 进行查询:
def home(request):
mainproduct = MainProduct.objects.get()
productimg = ProductImage.objects.filter(
product__mainproduct=mainproduct
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.