1
我有兩個具有外鍵關係的模型,當我通過{% for badge in badge_type.badge_set.all %}
循環顯示徽章對象時,它們按ID排序,但我希望它們按sort_order
排序或name
場,每Meta
如何在通過模板中的外鍵訪問時對django查詢集進行排序
class BadgeType(models.Model):
name = models.CharField(max_length=50, unique=True)
class Badge(models.Model):
name = models.CharField(max_length=50, unique=True)
badge_type = models.ForeignKey(BadgeType)
sort_order = models.PositiveIntegerField(blank=True, null=True)
...
class Meta:
order_with_respect_to = 'badge_type'
ordering = ['sort_order', 'name']
在視圖,我在我的情況下發送此:
@login_required
def list(request):
badge_types = BadgeType.objects.all()
context = {"badge_types": badge_types,}
return render(request, "badges/list.html" , context)
在模板:
{% for badge_type in badge_types %}
{{badge_type.name}}
{% for badge in badge_type.badge_set.all %}
{{badge.name}}
{% endfor %}
{% endfor %}
然而,在模板他們正在根據自己的ID進行排序。
我將如何指定'BadgeType'中Badge對象的排序? – 43Tesseracts
你爲什麼不去掉order_with_respect_to? –