在Django视图页面中从数据库获取数据时,如何删除所有重复值?

在Django视图页面中从数据库获取数据时,如何删除所有重复值?,django,django-models,django-views,django-templates,Django,Django Models,Django Views,Django Templates,我的数据库中有两个表product和skupoption,skupoption表有variant\u id,该variant\u id在skupoption表中使用相同字段多次存储,请告诉我如何在查看页面上获取数据时删除variant\u id的重复值 这是我的product view.html文件的代码 <h3>₹ {{product.saleprice}}</h3> <div class="produc

我的数据库中有两个表
product
skupoption
skupoption
表有
variant\u id
,该
variant\u id
skupoption
表中使用相同字段多次存储,请告诉我如何在查看页面上获取数据时删除
variant\u id
的重复值

这是我的
product view.html
文件的代码

  <h3>₹ {{product.saleprice}}</h3>
                       <div class="product-description border-product">
                            <div class="size-box">
                                <ul><b>Select Size: </b>
                                    {% for sku in product.skuoption_set.all %}
                                    <li><a href="javascript:void()">{{sku.variantsize}}</a></li>
                                    {% endfor %}
                                </ul>
                            </div></div>
这适用于
sku选项
表格

class SkuOption(models.Model):
    product = models.ForeignKey('Product', null=True, blank=True, on_delete=models.CASCADE)
    variantflavour=models.ForeignKey('Flavour', related_name='varflavour', on_delete=models.CASCADE, null=True, blank=True)
    variantsize=models.ForeignKey('Size', related_name='varsize', on_delete=models.CASCADE, null=True, blank=True)
    sku=models.CharField(max_length=285, null=True, blank=True)
    price=models.CharField(max_length=285, null=True, blank=True)
    qty=models.CharField(max_length=285, null=True, blank=True)
    created_at=models.DateTimeField(auto_now_add=True)
    updated_at=models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.sku

您可以在视图函数中进行查询

variantsizes = product.skuoption_set.values('variantsize__name').distinct()
variantsizes_list = [rec['variantsize__name'] for rec in variantsizes]
context = {'variantsizes_list':variantsizes_list}
模板

<div class="product-description border-product">
    <div class="size-box">
        <ul><b>Select Size: </b>
            {% for size in variantsizes_list %}
            <li><a href="javascript:void()">{{size}}</a></li>
            {% endfor %}
        </ul>
    </div>
</div>

    选择尺寸: {variantsizes_list%中的大小为%
  • {%endfor%}

尝试使用:
用于product.skupoption\u set.distinct中的sku。所有
都不起作用,你有其他解决方案吗。它工作得很好,但它给了我数值格式的
variantsize\u id
,我如何获得
variantsize\u id的实际名称
,因为
variantsize\u id=1
来自
variantsize
表。我没听清楚。请提供您的输出和模型结构请在打开此URL后检查此屏幕截图…
https://prnt.sc/tlxp1z
您在值中提供了什么字段?请在这些屏幕截图中查看我的两个表
https://prnt.sc/tlxrcy
与关系
https://prnt.sc/tlxqd7
<div class="product-description border-product">
    <div class="size-box">
        <ul><b>Select Size: </b>
            {% for size in variantsizes_list %}
            <li><a href="javascript:void()">{{size}}</a></li>
            {% endfor %}
        </ul>
    </div>
</div>