Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ich beschäftige mich momentan mit SQLAlchemy und beschäftige mich gerade mit Relationships. Beim ausprobieren und durchlesen der Dokumentation bin ich etwas verwirrt. Es geht um diese Seite: https://docs.sqlalchemy.org/en/14/orm/b ... ships.html
Beim Unterpunkt "Many To Many" wird eine "assocation_table" erstellt. Wieso wird da einfach so eine Variable in der obersten Ebene erstellt? Ich habe gelernt, dass globale Variablen nie eine gute Idee sind. Es kann auch sein, dass ich gerade völlig in die falsche Richtung denke?
@Domroon: Das ist keine Variable, das ist eine Konstante. Das beschreibt, genau wie die Klassen, die Tabellenstruktur in der Datenbank, die sich zumindest während das Programm läuft nicht ändert.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
Okay, das macht Sinn. Nur irgendwie blöd, dass sich die Dokumentation dann nicht an die "stille Vereinbarung" hält alle Konstanten komplett groß zu schreiben... Oder ist das an dieser Stelle wohl extra so gewollt?
Bei SQLAlchemy Tabellen Namen klein zu schreiben hat im wesentlichen drei Gründe:
Der Name im Code ist konsistent mit dem Namen in der Datenbank
Kleinschreibung ist konsistent mit der SQLAlchemy Dokumentation (und auch allen Projekten dir mir bekannt sind und SQLAlchemy nutzen).
Man benutzt die Namen viel häufiger als üblich für Konstanten, vor allem wenn man die expression language benutzt und nicht das ORM. Ständig Großbuchstaben zu nutzen ist jetzt nicht so toll beim tippen.