Seite 1 von 1

Sqlalchemy | Übergabe von Tabellen-Strukturen

Verfasst: Dienstag 18. November 2008, 16:17
von pengo
Hallo liebe Pythons ;),

ich stehe mal wieder auf dem Schlauch :) (Was ganz neues).

Ich wollte ein ein kleine Klasse schreiben die mit Sqlalchemy arbeitet.
Nun wollte ich an eine funktion in der Klasse die Tabellen-Struktur
für die Metadaten übergeben.
Damit falls die Tabelle noch nicht angelegt ist sie angelegt werden kann.

ich würde gerne die Tabellen-Struktur in folgenden Format übergeben

Code: Alles auswählen

table = {"column1": ["Integer", "primary_key=True"],
             "column2": ["String"] }
Sqlalchemy legt folgender weise Metadaten zu einer Tabelle an

Code: Alles auswählen

users = Table('users', metadata,
     Column('column1', Integer, primary_key=True),
     Column('column2', String),
... )
Mir fällt nun keine anständige Lösung ein wie ich ein Liste erstelle die eine Funktion enthält die wiederum eine unbekannt Anzahl an Funktion zugewiesen bekommt.


Nun hätte ich gerne eine kleine Anregung wie ich das ganze schön lösen kann :). Ich
weiß immer nur nehmen :).

Falls ich das Problem nicht richtig erklärt habe, was ich jetzt einfach auf meinen verwirrten Zustand zurück führe, schreit einfach :).

Vielen Dank und schöne Grüße pengo

Verfasst: Dienstag 18. November 2008, 16:31
von audax
Darf man fragen, warum du das willst?

Ja

Verfasst: Dienstag 18. November 2008, 16:40
von pengo
Ich wollte die Klasse so schreiben das ich mich nicht weiter um die irgend welche
Datenbank Geschichten kümmern muss. Kann auch gut sein das das der völlig falsche Ansatz ist und das man das ganz anders erledigen. Auserdem hat es mich jetzt einfach interessiert.

Wahrscheinlich wäre die Klasse so nicht nötig wenn ich jetzt so drüber nach denke *jaja*.
Aber würde mich trotzdem interessieren.

Gruß pengo

Re: Sqlalchemy | Übergabe von Tabellen-Strukturen

Verfasst: Samstag 22. November 2008, 10:28
von sma
pengo hat geschrieben:Mir fällt nun keine anständige Lösung ein wie ich ein Liste erstelle die eine Funktion enthält die wiederum eine unbekannt Anzahl an Funktion zugewiesen bekommt.
Ich habe Schwierigkeiten, diesen Satz zu dekodieren, aber Funktionen, denen man beliebig viele Argumente übergeben kann, lassen sich in Python so definieren:

Code: Alles auswählen

def f(*args):
    return len(args)
Was ist dir übrigens an dem SQLalchemy-Code nicht abstrakt genug? Das dort Klassen Table und Column vorkommen? Nimm dort doch einfach Strings oder besser noch eigene Funktionen, die dann ggf. die SQLalchemy-Objekte zurückgeben können.

Stefan

Zum abschluss

Verfasst: Montag 15. Dezember 2008, 23:08
von pengo
Hallo zusammen,

danke noch nachträglich für die Antworten.

habe mich jetzt noch ausführlicher mit SQLalchemy beschäfftigt,
jetzt ist mir so einiges klar geworden, oder so was in der art ;-).

Gruß pengo