SQLAlchemy

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1059
Registriert: Sonntag 24. April 2011, 19:43

Donnerstag 13. September 2018, 18:30

Sollte nicht im Forum

Datenbankprogrammierung mit Python
viewforum.php?f=23

im angehefteten Post

Liste der bekannten Datenbankschnittstellen

ein Hinweis auf SQLAlchemy aufgenommen werden? Ich habe heute mal eine Datenbank damit geschrieben und ich muss sagen, dass es ganz einfach ist und die Einarbeitung zügig erfolgen kann. Ich habe mir eine kleine App aus dem Netz gesucht, die auf Basis von SQLAlchemy die CRUD-Operationen implementiert und konnte damit gut und zügig arbeiten. Ich hoffe, dass ich darüber auch das sehr lange Tutorial verarbeitet bekomme...

Also meine Meinung: Wer SQLAlchemy kennengelernt hat, der möchte nichts anderes mehr nutzen...
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Samstag 15. September 2018, 19:42

Hallo,

das ist alles ein bisschen vage... SQLAlchemy ist so vielschichtig und geht so tief, dass man sich problemlos monatelang mit beschäftigen kann und immer wieder neues entdecken. Welche Module aus SQLAlchemy nutzt du denn?

Klar: SQLAlchemy ist sicherlich DAS ORM für Python und zusammen mit dem Django ORM sicherlich das meistgenutzte. Da letztes ja voll auf Django ausgerichtet ist, ist das keine Konkurrenz.

Ich habe früher auch mal SQLAlchemy genutzt, würde aber heute denke ich für eher PeeWee nutzen - wenn ich denn ein (Hobby-) Projekt mit Notwendigkeit für eine SQL-DB hätte.

Gruß, noisefloor
Benutzeravatar
pixewakb
User
Beiträge: 1059
Registriert: Sonntag 24. April 2011, 19:43

Samstag 15. September 2018, 21:23

Ich habe den Quellcode von dieser Seite und zwar dem letzten Abschnitt übernommen:

https://www.compose.com/articles/using- ... qlalchemy/

Ich bin damit sehr (!) zufrieden. Wenn ich dem offiziellen Tutorial glauben darf, dann kann man damit viel einfach umsetzen.

PeeWee kannte ich noch nicht (!) und Django ORM habe ich zumindest schon mal gehört. Ich finde, dass das in den Post mit den Datenbank-Schnittstellen gehört und dort kurz erläuternd vorgestellt werden sollte. Ich habe mich "noch" mit sqlite3 herumgequält, um damit eine Datenbank-Anwendung zu schreiben. Demgegenüber finde ich SQLAlchemy sehr (!) angenehm und leicht in der Handhabung.

Ich nutze viel requests mit bs4 und finde es schade, wenn Leute noch urllib.request lernen, weil sie niemand auf die "neuen" Lösungen hingewiesen hat. Es wäre schade, wenn hier Leute noch die einzelnen Datenbank-Schnittstellen lernen würden, nur weil die ORM-Lösungen nirgendwo erwähnt werden.

PS: Ich denke, ich werde peewee mal versuchen - es wirkt vor allem leichtgewichtig...
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Sonntag 16. September 2018, 08:46

Hallo,
Ich finde, dass das in den Post mit den Datenbank-Schnittstellen gehört und dort kurz erläuternd vorgestellt werden sollte.
+1. Letztendlich ist es ja so, dass hier im Forum oft ein ORM (in der Regel SQLAlchemy) empfohlen, wenn jemand mehr als trivialste SQL-DB Abfragen macht.

PeeWee ist denke ich für den "Hausgebrauch" einfacher, weil flachere Lernkurve. Für alles andere dann besser SQLAlchemy. Und bei Django halt das Django ORM.

Gruß, noisefloor
DasIch
User
Beiträge: 2462
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Sonntag 16. September 2018, 19:08

Es macht halt nur wenig Sinn mehr als ein ORM zu lernen und SQLAlchemy ist das ORM. Wenn man bewusst eine relationelle Datenbank nutzt und deren Features auch alle nutzen möchte kommt man auch an SQLAlchemy nicht vorbei.

Wenn man wirklich nur ein bisschen macht kann man auch sehr gut einfach SQL schreiben.
nezzcarth
User
Beiträge: 538
Registriert: Samstag 16. April 2011, 12:47

Montag 17. September 2018, 17:52

Als ich kurzfristig mal ein ORM brauchte, habe ich peewee genommen, weil es relativ intuitiv ist und ein paar nette, einfach zu verwendende Features hat (z.B. Schema-Learning oder playhouse.dataset). Später habe ich das dann ein bisschen bereut. Immer, wenn es um mehr als eine handvoll Datensätze ging, die ich in eine SQLite Datenbank schreiben wollte, war peewee extrem viel langsamer, als entsprechende "händisches" SQL; was in reinem SQL in wenigen Minuten ging, hat in peewe schon mal mehrere Stunden gebraucht. Keine Ahnung, ob ich etwas falsch gemacht habe oder was (ich habe versucht, verschiedene Dinge, wie das automatische Commiten nach jedem Insert zu verhindern; aber ich habe es einfach nicht "auf Tempo" bekommen). Mir ist schon bewusst, dass man sich den Comfort mit etwas overhead erkauft (gerade bei playhouse.dataset, das dynamisch das Schema erzeugt), aber das war mir zu viel. Daher würde ich persönlich, wenn ich denn ein ORM neu lernen würde, eher direkt zu SQLAlchemy greifen.
Antworten