Frage

Ich verwende SQLAlchemy mit einer vorhandenen PostgreSQL-Datenbank zu interagieren.

Ich brauche, um Daten in einer Beziehung many-to-many organisiert zugreifen. Die Dokumentation beschreibt, wie Beziehungen zu schaffen, aber ich kann nicht ein Beispiel für ordentlich Laden und Abfrage eines vorhandenen finden.

War es hilfreich?

Lösung

Um eine bestehende Beziehung Abfrage ist nicht wirklich anders, als einen neuen zu schaffen. Sie schreiben so ziemlich den gleichen Code aber die Tabellen- und Spaltennamen angeben, die bereits vorhanden sind, und natürlich werden Sie nicht brauchen, um die SQLAlchemy CREATE TABLE Anweisungen zu erteilen.

Siehe http://www.sqlalchemy.org/ docs / 05 / mappers.html # many-to-many . Alles was Sie tun müssen, ist die Fremdschlüsselspalten für Ihre bestehenden Eltern-, Kind- und Zuordnungstabellen, wie im Beispiel angeben, und geben Sie autoload=True die anderen Felder auf den Tabellen auszufüllen. Wenn Ihre Zuordnungstabelle speichert zusätzliche Informationen, wie sie fast immer tun, sollten Sie nur brechen Sie Ihre many-to-many-Beziehung in zwei many-to-one-Beziehungen.

Ich lernte SQLAlchemy während mit MySQL arbeiten. Mit dieser Datenbank hatte ich immer die Fremdschlüsselbeziehungen geben, weil sie nicht explizit Datenbankbeschränkungen waren. Vielleicht haben Sie Glück und der Lage sein, noch mehr aus Ihrer Datenbank zu reflektieren, aber Sie könnten etwas zu verwenden, wie http : //pypi.python.org/pypi/sqlautocode codieren nur das gesamte Datenbank-Schema und die Reflexion Verzögerung vermeiden

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top