django 模板中的唯一值

unique values in django template

您好,我正在使用 django oscar 并开发一个选择属性值的函数。我希望 {{product.examination_filter }} 成为没有重复值的列表。

HTML :

<div class="portion">
        {% for product in products%}
                     {{product.examination_filter }}                   
        {% endfor %}                                    
</div>

Models.py

class Product(AbstractProduct):
from django.db import models
from oscar.apps.catalogue.abstract_models import AbstractProduct

def examination_filter(self):
    attributes = self.attribute_values.all()
    for attribute in attributes:
        if attribute.attribute.name == 'examination':
            return (attribute.value)

由于每个产品上的 for 循环,我得到了重复的值。如何在 Django 模板语言中创建唯一的值列表?请注意,views.py 由 oscar 处理,我正在从 oscar logic 在我的 html 上获取产品(产品组)。请基本上帮助我希望将此值显示为网页上产品的过滤器。

您可能希望通过单独的查询来做到这一点:

attributes = ProductAttribute.objects.distinct()

attributes 放入您的模板中,您应该有一个可以过滤的列表。您可能需要制作继承自 AbstractProductAttribute.

的 class ProductAttribute