Ich habe ein Modell, das eine ManyToManyField von Benutzer hat:Bestell Benutzer in einem Django 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)
Vorlage (entschuldigung_liste.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 %}
...
Wie kann ich den Benutzersatz sortieren (excuse.students.all
) alphabetisch nach einem Benutzerfeld, zum Beispiel: user.last_name?
Danke! Ich denke, das ist die beste der drei Antworten bisher, weil es im Prefetch enthalten ist, also wird es keinen Haufen zusätzlicher Treffer in der Datenbank geben? Beachten Sie, dass das Benutzerfeld 'last_name' sein sollte – 43Tesseracts