【发布时间】:2020-12-24 09:16:18
【问题描述】:
所以我正在 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
【问题讨论】:
标签: python html django postgresql