Die Anwendung basiert auf django / angular . Ich möchte einen Excel-Bericht basierend auf dem Modell und den von den Benutzern ausgewählten Feldern erstellen. Sie können die Suchoberfläche unten finden. Ich habe 4 Modelle in Django. Coach , Spieler , Teilnahme mit einem Fremdschlüsselbezug zu Club (One-to-Many-Beziehung). Das individuelle Django-Modell fungiert als Auswahleingabe und Modellfelder als Optionen
models.py
%Vor%Suchoberfläche (Dropdown-Menü auswählen)
%Vor%Anwendungsfall
%Vor%HTML
%Vor%Angulares JS
%Vor%Die ausgewählten Felder von ausgewählten Eingaben werden an Django-Ansichten für Abfrage und Ergebnisverkettung gesendet. Die Daten, die an Django-Ansichten gesendet werden, sehen folgendermaßen aus:
%Vor%Ansichten
%Vor%So muss die json-Antwort aussehen. Die JSON-Antwort wird in die Excel-Datei
konvertiert %Vor%Hilfe
Wie kann ich basierend auf ausgewählten Modellfeldern alle Datensätze zu Clubs und ausländischen Schlüsseldaten (Coach, Spieler, Teilnahme) abrufen? ? Beispiel für Bericht ist oben gezeigt.
Jede Hilfe und Feedbacks sind willkommen.
Sie haben den Code Ihrer Modelle nicht angegeben.
Im Allgemeinen erhalten Sie eine Liste bestimmter Felder mit den sehr hilfreichen Methoden .values()
oder .values_list()
von QueryManager
. Sie können die Beziehung von Werten mit __
wie club__name
referenzieren.
Ich nehme an, dass eine Zeile in Ihrem Export sich auf einen Spieler bezieht. Also müsste die Beziehung vom Spielermodell aus erstellt werden.
Beispiel:
%Vor% ManyToMany-Felder sind schwieriger. Sie benötigen möglicherweise Aggregation oder extra
und select
Aufrufe im QueryManager.
Tatsächlich gibt es ein Dienstprogramm, mit dem Sie CSV-Daten aus Django-Abfragesätzen mit allen Funktionen von Verkettung in Suchfelder exportieren können: django-queryset-csv .
Verwendung exapmle:
%Vor%Blog von azavea für weitere Anwendungsbeispiele. Ich hoffe, du könntest das hilfreich finden.
Tags und Links python django excel django-queryset multiple-tables