在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>