なぜテンプレートでそれを並べ替えるのですか?あなたがそれを渡す前にビュー内で注文する - 一般的に、可能な限りテンプレートからビジネスロジックを取り除いてください。これはビジネスロジックとよく似ています。一例として、
、私のモデルの1:
class Event(models.Model):
date = models.DateField()
location_title = models.TextField()
location_code = models.TextField(blank=True, null=True)
picture_url = models.URLField(blank=True, null=True, max_length=250)
event_url = models.SlugField(unique=True, max_length=250)
def __str__(self):
return self.event_url + " " + str(self.date)
def save(self, *args, **kwargs):
self.event_url = slugify(self.location_title+str(self.date))
super(Event, self).save(*args, **kwargs)
ここ__str__
の出力は常に(あなたはおそらく、になるように)event_url +いくつかの他のものになるだろう考えると、私は何かを使用することができます線に沿って:
stuff_in_order = Event.objects.filter(#yourqueryhere).order_by('event_url').order_by('date')
これはあなたのシャーシを注文するテンプレートにSTR方法をいじるのと同じ効果を持つことになります。 (sp?)
本当にテンプレートを並べ替える必要がある場合は、regroupを使用できます。
{% regroup chassis by dealer as dealer_list %}