TAL verschachtelte Daten, wie anzeigen...

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich hab Daten aus zwei SQL-Tabellen, die mit IDs miteinander verknüpft sind. Diese möchte ich über TAL anzeigen.
Ich weiß aber nicht den einfachsten Weg. Soll ich die Daten per Hand vorher "verknüpfen" ???

Bsp.:

Code: Alles auswählen

data1 = [
    {"id": 1, "name": "eins"},
    {"id": 2, "name": "zwei"},
]

data2 = [
    {"parend_id": 1, "item": "Blabla"},
    {"parend_id": 1, "item": "Blabla2"},
    {"parend_id": 2, "item": "in 2"},
]
Das Ergebniss soll quasi so aussehen:

Code: Alles auswählen

eins
    * Blabla
    * Blabla2

zwei
    * in 2
Ich muß irgendwie zwei tal:repeat verschachteln, aber ich weiß nicht wie?

EDIT: Hiernach muß ich es also vorher per Hand verschachteln. Ist das der normale Weg?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

jens hat geschrieben:Ich hab Daten aus zwei SQL-Tabellen, die mit IDs miteinander verknüpft sind. Diese möchte ich über TAL anzeigen.
[...]
Hiernach muß ich es also vorher per Hand verschachteln. Ist das der normale Weg?
Hi Jens!

So wie es Tino erklärt ist es wahrscheinlich der Idealfall. Ja, vorher verschachtel ist besser und schneller als für jede Unterstruktur jeweils wieder eine neue Funktion aufzurufen um zu den Daten zu kommen.

Code: Alles auswählen

data = [
    {
        "id": 1, 
        "name": "eins", 
        "sub": {
            "item1": "Blabla1",
            "item2": "Blabla2",
        }
    },
    {
        "id": 2, 
        "name": "zwei", 
        "sub": {
            "item1": "Blabla3"
            "item2": "Blabla4"
        }
    },
]
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

OK, so hab ich's auch nun gemacht... Ich könnte natürlich auch erst hin gehen und die erste Tabelle Abfragen. Über die Ergebnisse mach ich eine for-Schleife und hol mir dann die passenden Teile aus der zweiten Tabelle. Sind natürlich mehr SQL-Abfragen, aber weniger Python-Aktion.

Ich kann allerdings nicht einsätzen, ob sich das lohnt oder nach hinten losgeht. Kommt wahrscheinlich auf die Anzahl der Daten an, was?


Oder kann man irgenwie die SQL-Abfragen direkt "verschachteln" ???

Hier mal die "SQL-Tabellen" mit den obrigenen super sinnvollen Daten:

Code: Alles auswählen

Tabelle 1
---------------
id     name
--------------
1      eins
2      zwei


Tabelle 2
---------------
id     item
---------------
1      "Blabla"
1      "Blabla2"
2      "in 2"
Wie könnte da eine SQL-Abfrage aussehen?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten