Django: An welcher Stelle models für die Ausgabe filtern?
Verfasst: Sonntag 25. Oktober 2015, 11:48
Hallo,
ich beschäftige mich seit Kurzem mit Django. In meiner Anwendung möchte ich so etwas darstellen:
HAUPTGRUPPE 1:
- Untergruppe A
- Untergruppe C
- Untergruppe F
HAUPTGRUPPE 2:
- Untergruppe B
- Untergruppe D
Keiner Hauptgruppe zugeordnet:
- Untergruppe E
Dazu habe ich Haupt- und Untergruppen in den models.py als Klassen definiert. Nun frage ich mich allerdings, an welcher Stelle ich die Filterung für die Ausgabe machen sollte:
- Als Methode einer Klasse in den models.py?
- In den views.py?
- Im template?
Freue mich über jeden Hinweis!
Hier sind meine models.py (auf das Wesentliche beschränkt):
Und hier die views.py:
...und das template:
ich beschäftige mich seit Kurzem mit Django. In meiner Anwendung möchte ich so etwas darstellen:
HAUPTGRUPPE 1:
- Untergruppe A
- Untergruppe C
- Untergruppe F
HAUPTGRUPPE 2:
- Untergruppe B
- Untergruppe D
Keiner Hauptgruppe zugeordnet:
- Untergruppe E
Dazu habe ich Haupt- und Untergruppen in den models.py als Klassen definiert. Nun frage ich mich allerdings, an welcher Stelle ich die Filterung für die Ausgabe machen sollte:
- Als Methode einer Klasse in den models.py?
- In den views.py?
- Im template?
Freue mich über jeden Hinweis!
Hier sind meine models.py (auf das Wesentliche beschränkt):
Code: Alles auswählen
class Organisationseinheit(models.Model):
uid = models.CharField(max_length=10, unique=True, null=False, blank=False)
bezeichnung = models.CharField(max_length=200, unique=False, null=False, blank=False)
class Meta:
abstract = True
class Hauptgruppe(Organisationseinheit):
class Untergruppe(Organisationseinheit):
hauptgruppe = models.ForeignKey(Hauptgruppe, null=True, blank=True, default=None)
Code: Alles auswählen
class AuflistungUntergruppen(ListView):
model = Untergruppe
context_object_name = 'untergruppen'
Code: Alles auswählen
<table class="table">
<thead>
<tr>
<th>UID</th><th>Bezeichnung</th>
</tr>
</thead>
<tbody>
{% for ug in untergruppen.all|dictsort:'uid' %}
<tr>
<td>{{ ug.uid }}</td><td>{{ ug.bezeichnung }}</td>
</tr>
{% endfor %}
</tbody>
</table>