Ich bin ziemlich neu in der Entwicklung mit Django und ich hoffe, dass mir jemand helfen kann. Ich habe zwei Hauptmodelle in einer Ansicht und in einer Vorlage. Jedes meiner "Haupt" -Modelle hat sein eigenes "Sub" -Modell (mit einem Fremdschlüssel). Meine Ausgabe ist in Ordnung und es funktioniert so weit.Wie kann ich meine Modellausgabe in Django sortieren?
Mein Problem ist, ich möchte das Untermodell meines zweiten Hauptmodells nach Namen sortieren. Ist das möglich, oder was muss ich ändern? In meinem Beispiel möchte ich 'insassen.last_name' nach Namen sortieren.
Ich habe ein Bild, wie es jetzt aussieht: occupant.last_name
Mein models.py
class Management[...]
class Employee[...]
class Houses(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Occupant(models.Model):
house = models.ForeignKey(Houses, on_delete=models.CASCADE)
last_name = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
room = models.IntegerField(default=0)
def __str__(self):
return self.first_name
Mein views.py
class IndexView(ListView):
context_object_name = 'all_management_list'
template_name = 'blackboard/index.html'
queryset = Management.objects.order_by('order_number')
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context['Houses'] = Houses.objects.all()
# And so on for more models
return context
Meine Vorlage. html
Vielen Dank für die Hilfe und Entschuldigung für mein schlechtes Englisch. :)
Mit freundlichen Grüßen
borsTiHD
Danke, es hat funktioniert. :) Ich habe auch eine andere Lösung gefunden ({% für Bewohner in houses.occupant_set.all | dictsort: "last_name"%}). Aber ich denke, ich werde deine bevorzugen. : D – borsTiHD
Ihre Lösung ist in Ordnung, aber nicht die beste Leistung :) –
Ein weiterer Grund, Ihre Lösung zu verwenden. Ich danke dir sehr. : D Und Entschuldigung, ich kann deine Antwort nicht auffrischen. :/ – borsTiHD