在Django中找到所有产品的不同类别

时间:2016-12-15 08:03:25

标签: python django

我列出了属于不同类别的所有产品。

model.py

 class Product(models.Model):
        product_name = models.CharField(max_length=50,null=True, blank=True)
        details = models.CharField(max_length=100, null=True, blank=True)
        company_name = models.CharField(max_length=50,null=True, blank=True)
        category = models.ForeignKey(ProductClass,null=True, blank=True)

类别是ForeignKey的{​​{1}}。

现在我想要一个包含所有不同类别的列表。我不想要重复类别列表。为此,我尝试了ProductClass

obj = CustomerLeads.objects.all()

我收到错误obj = Product.objects.all() c = [] for i in obj: c.append(i.item_required) cat = set(c) return JsonResponse({'data':cat})

如何获取所有不同类别的列表?

1 个答案:

答案 0 :(得分:0)

distinct()消除了queryset的重复元素

values_list(* field,flat = True)用于将值作为列表返回。

 Product.objects.values_list('category__category_name', flat=True).distinct()

#output
[u'Lamps', u'Professional', u'LED', u'Automotive']

Reference