django : per string auf Klasse zugreifen
Verfasst: Sonntag 6. Juli 2008, 18:35
halle,
ich fürchte der Titel ist schlecht gewählt aber mein Problem schaut wie folgt aus:
ich würde gerne über einen String eine Klasse auswählen, auf die ich dann "objects.filter(id="foo") anwende (Objekte aus der DB holen).
Konkret heißt das, ich habe 2 Klassen (Tabellen) Location und Category.
jetzt würde ich gerne wie folgt zugreifen :
natürlich funktioniert das so nicht.
Ich würde aber prinzipiell so zugreifen, da ich sonst 2 Funktionen habe die so fast genau das selbe machen (dont repeat yourself).
Ein anderer Lösungsansatz wäre natürlich explizit SQL zu verwenden aber das ist nicht sehr elegant!
mfg
ich fürchte der Titel ist schlecht gewählt aber mein Problem schaut wie folgt aus:
ich würde gerne über einen String eine Klasse auswählen, auf die ich dann "objects.filter(id="foo") anwende (Objekte aus der DB holen).
Konkret heißt das, ich habe 2 Klassen (Tabellen) Location und Category.
jetzt würde ich gerne wie folgt zugreifen :
Code: Alles auswählen
def get_objects(class_name):
return class_name.objects.all()
print get_objects('Category')
Ich würde aber prinzipiell so zugreifen, da ich sonst 2 Funktionen habe die so fast genau das selbe machen (dont repeat yourself).
Ein anderer Lösungsansatz wäre natürlich explizit SQL zu verwenden aber das ist nicht sehr elegant!
mfg