对于我来说,正确完成订单非常重要。我需要按索引对我的MonthlySpending对象进行排序。我已经尝试过从django模板获取dictsort,但是不起作用。
我也将排序包含在模型中,但是,排序未在HTML中显示,但在管理员中显示。
反正我可以按其索引对对象进行排序吗?
HTML
{% for month in object.monthlyspending_set.all|dictsort:"index" %}
<tr class="yeardata ">
<td>{{ month.name }}</td>
<td>$ {{ month.monthly_income }}</td>
<td>$ <a href="{% url 'finances:detail' month.slug %}">{{ month.target_savings }}</a></td>
<td>$ {{ month.actual_savings }}</td>
<td>{{ month.percentage_met }} %</td>
</tr>
{% endfor %}
Models.py
class MonthlySpending(models.Model):
name = models.CharField(max_length=100)
annualspending = models.ForeignKey(AnnualSpending, on_delete=models.CASCADE)
index = models.IntegerField()
slug = models.SlugField()
objects = models.Manager
class Meta:
ordering = ['index']
答案 0 :(得分:0)
object.monthlyspending_set.all().order_by('index') -> ascending order
object.monthlyspending_set.all().order_by('-index') -> descending order
https://docs.djangoproject.com/en/2.0/ref/models/querysets/#order-by
答案 1 :(得分:0)
我建议您先将order_by
用于查询集,然后再传递给它。文档为here。您可以在自己的视图中执行类似some_query_set.order_by("index")
的操作。