从一个外键模型中过滤掉一个外键模型
Filtering out a foreignkey model out of a foreignkey model
尝试过滤 MainProduct 的所有 productimg 对象但得到 ValueError Cannot use QuerySet for "MainProduct": Use a QuerySet for "Product".
但不能使用 slug 或 id 将其从 Product 中过滤掉因为它是主页
home:view [不起作用]
#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
)
商店:查看[作品]
def detail_view(request, slug):
products = Product.objects.get(slug=slug)
productimg = ProductImage.objects.filter(product=products)
店铺:型号
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/')
家:模型
class MainProduct(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
mainproduct
不是单品:它是所有MainProduct
的QuerySet
,即使有单个MainProduct
。如果恰好有一个MainProduct
,你用.get(…)
[Django-doc]查询:
def home(request):
mainproduct = MainProduct.objects.get()
productimg = ProductImage.objects.filter(
product__mainproduct=mainproduct
)
尝试过滤 MainProduct 的所有 productimg 对象但得到 ValueError Cannot use QuerySet for "MainProduct": Use a QuerySet for "Product".
但不能使用 slug 或 id 将其从 Product 中过滤掉因为它是主页
home:view [不起作用]
#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
)
商店:查看[作品]
def detail_view(request, slug):
products = Product.objects.get(slug=slug)
productimg = ProductImage.objects.filter(product=products)
店铺:型号
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/')
家:模型
class MainProduct(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
mainproduct
不是单品:它是所有MainProduct
的QuerySet
,即使有单个MainProduct
。如果恰好有一个MainProduct
,你用.get(…)
[Django-doc]查询:
def home(request):
mainproduct = MainProduct.objects.get()
productimg = ProductImage.objects.filter(
product__mainproduct=mainproduct
)