System von sqlalchemy

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Hallo,

ich plane ein kleines Warenwirtschaftssystem mit Sqlalchemy. Möchte verschiedene Klassen, unter anderem für eine ProductDefinition (eine Vorlage), für Produkte ansich (die auf Basis dieser erstellt werden), für Transaction, usw.

Jedenfalls würde ich hier gerne SqlAlchemy verwenden. Jetzt möchte ich aber ungern meine eigenen Objekte zu Sqlalchemy-Objekten machen, sondern das irgendwie anders miteinander verbinden. Da Python ja keine wirklich strengen "private"-Methoden ermöglicht, würde ich diese Objekte einfach ungern für mögliche Module und Erweiterungen rausgeben, sondern eben wirklich nur meine eigenen (die dann auch eine Rechteverwaltung enthalten, damit nicht jeder alles mit den Objekten machen kann)... Ist sowas üblich? Und wenn ja, wie mache ich das am besten?

Vielen Dank.
BlackJack

@sprudel: Wenn Du innerhalb von einem Python-Programm ein Rechtesystem einführen willst, das nicht jeder Code im Programm alles mögliche mit Objekten anstellen kann, dann hast Du schon verloren. Wenn Du Programmierern von anderen Teilen Deines Programms nicht vertraust, dann dürfen deren Teile schlicht nicht im gleichen Interpreter/Prozess laufen.
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Okay, das ist wohl in gewisser Form wahr. Du meinst also, ich soll meine Klassen direkt zu SqlAlchemy-Klassen machen, und so auch damit arbeiten? Dann eine andere Frage: Ich habe gelesen, dass es möglich ist, die Attribute der Klassen zwar z.B. _id oder _name zu nennen, das SqlAlchemy diese dann aber nicht mit dem _ am Anfang in der Datenbank speichert. Wie geht das?
BlackJack

@sprudel: Ich weiss nicht ob das jetzt echt erklären soll, denn wie man Attribute auf andere Namen in Datenbankspalten abbildet bekommst Du automatisch mit wenn Du die Dokumentation dazu liesst, wie man überhaupt Attribute auf Datenbankspalten abbildet. Wobei ich mir an Deiner Stelle auch dort nicht so viel Gedanken machen würde. Wer nicht weiss, dass man die eindeutige ID nicht einfach ändert, der wird sich auch von einem Unterstrich nicht davon abhalten lassen Unsinn anzustellen.
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Okay, stimmt wohl. Eine allerletzte Frage habe ich noch: Wird Elixir noch aktiv weiterentwickelt, also kann man es auch benutzen? Oder spricht da irgendwas dagegen? Hat Elixir Grenzen, oder kann man diese auch mit den SqlAlchemy-Mitteln übersteigen? (es basiert ja darauf)
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Elixir ist überflüssig geworden und dementsprechend tot.
Antworten