私は、ユーザーののManyToManyFieldを持っているモデルがあります:発注ユーザー
models.py
class Excuse(models.Model):
students = models.ManyToManyField(User)
reason = models.CharField(max_length=50)
views.py
def excuse_list(request, block_id=None):
queryset = Excuse.objects.all().prefetch_related('students')
context = {
"object_list": queryset,
}
return render(request, "excuses/excuse_list.html", context)
テンプレート(excuse_list.html)
...
{% for excuse in object_list %}
<tr>
<td>{{ excuse.reason }}</td>
<td>
{% for student in excuse.students.all %}
{{student.get_full_name}};
{% endfor %}
</td>
</tr>
{% endfor %}
...
ユーザーフィールド(たとえば、user.last_name)によって、ユーザーセット(excuse.students.all
)をアルファベット順に並べ替える方法を教えてください。
ありがとうございます!私はこれがプリフェッチの中に含まれているのでこれまでの3つの答えの中で最高だと思うので、データベースに追加のヒットが山積することはありませんか? Userフィールドは 'last_name'でなければならないことに注意してください。 – 43Tesseracts