所以我正在 Django 中构建一个服装比较器。我创建了多个复选框,以便人们可以将产品过滤为例如:夹克和裤子。为了获取 Postgresql 数据库中的所有产品,我制作了一个字典,其中键是类别,值是链接到该类别的单词。如果找到匹配项,产品将附加到包含我要显示的所有产品的列表中。问题是我在该列表中有多个查询集,但无法将其输出到 HTML。有没有一种方法可以将列表中的所有 QuerySet 合并为一个 QuerySet?代码:mylist = request.POST.getlist('checkbox') categorie_list = ['jackets', 'sweaters', 't-shirts', 'polo-shirts', 'trousers', 'shorts', 'hats', 'bags'] cat_dict = {'jackets': ['zip-up', 'jacket', 'overshirt', 'parka'], 'sweaters': ['hoodie', 'sweatshirt', 'jumper']} list1 = [] for item in mylist: if item in categorie_list: if item in cat_dict.keys(): print(item) for value in cat_dict[item]: print(value) data = models.Product.objects.filter(name__regex=value) list1.append(data) else: pass else: pass print(list1)list1 看起来像这样:[<QuerySet [<Product: >, <Product: >]>, <QuerySet [<Product: >, <Product: >]>, <QuerySet [<Product: >, <Product: >]>]模型看起来像这样:class Product(models.Model): brand = models.TextField() name = models.CharField(max_length=200) color = models.TextField(null=True) final_price = models.TextField() initial_price = models.TextField() sort_price = models.TextField() product_link = models.TextField() image_link = models.TextField() discount = models.TextField() company_pic = models.TextField() def __str__(self): return self.name
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
请尝试这个。这里我们将值过滤为列表数据类型。
data = list(models.Product.objects.filter(name__regex=value))
list1.append(data)
请添加您的型号以获取更多信息。
添加回答
举报
0/150
提交
取消