【问题标题】:unique values in django templatedjango模板中的唯一值
【发布时间】:2015-09-18 12:36:53
【问题描述】:

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

HTML:

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

模型.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 逻辑获取我的 html 上的产品(产品组)。请帮助基本上我希望这些值显示为网页上产品的过滤器。

【问题讨论】:

    标签: python django django-oscar


    【解决方案1】:

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

    attributes = ProductAttribute.objects.distinct()
    

    attributes 放入您的模板中,您应该有一个可以过滤的列表。您可能需要创建类ProductAttribute,它继承自AbstractProductAttribute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 2010-11-30
      • 1970-01-01
      • 2012-03-03
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多