小编Ser*_*iko的帖子

查询集和切片的问题

我有2种型号,CompanyProductProduct有一个ForeignKey到Company

class Product(Meta):
    company = models.ForeignKey(
        Company, 
        related_name='products', 
        on_delete=models.CASCADE
    )
Run Code Online (Sandbox Code Playgroud)

我做了以下过滤:

 company = Company.objects.filter(account=account, pk=company_pk)
        if not company:
            raise Http404
        product = Product.objects.filter(company=company, pk=product_pk)
        if not product:
            raise Http404
        return product
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

The QuerySet value for an exact lookup must be limited to one result using slicing.
Run Code Online (Sandbox Code Playgroud)

company_pk而且product_pk只是变量.如果我删除了产品过滤器,则没有错误.

我认为它发生是因为公司结果是一个QuerySet并作为参数被推送 Product.objects.filter

django django-queryset

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

django-queryset ×1