所以我正在 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
斯蒂芬大帝
相关分类