我有这样的模特购买:
class Purchase(models.Model):
material = models.ForeignKey(Material)
supplier = models.ForeignKey(Supplier)
amount = models.IntegerField()
price = models.FloatField()
state = models.IntegerField(default=0)
timestamp = models.DateTimeField(auto_now=True)
在模板中,我想按供应商对所有购买进行分组,所以我写了<% regroup purchases by supplier as supplier_list %>
,然而,让我感到困惑的是:我在数据库中只有两个供应商,但在这里有三个供应商,其中两个是同一个供应商。
测试案例:
purchase_purchase表
id | material_id | supplier_id | amount
1 | 3 | 3 | 2
2 | 4 | 3 | 10
3 | 3 | 2 | 10
4 | 3 | 3 | 4
我的代码段是否有任何错误?等待建议。
答案 0 :(得分:2)
您需要确保您的数据已按您要重新组合的值进行排序。
regroup标记的documentation确实解释了这一点:
请注意
{% regroup %}
没有命令输入!我们的例子依赖于城市名单首先按国家排序的事实。如果城市列表没有按国家/地区对其成员进行排序,则重新组合将天真地为单个国家/地区显示多个组。