Lassen Sie uns Klassen X und Y und Beziehungen zwischen ihnen x2y und y2x haben. Mit dem Klasseniterator class_mapper (Class) .iterate_properties können wir alle Klasseneigenschaften abrufen. Also x2y und y2x sind RelationshipProperty und was ich zu bekommen hoffe, ist eine Klasse oder ein Klassenname von Objekten auf der entfernten Seite der Relation.
Ich habe bereits versucht, eine Lösung zu finden.
Ich habe x2y.remote_side[0].table.name
gefunden, eine tables_map erstellt, die einen Tabellennamen einer Klasse zuordnet und für Eins-zu-Viele und Eins-zu-Eins funktioniert. Wenn ich es für Viele-zu-Viele verwende, ist der Tabellenname eine Assoziationstabelle.
Irgendwelche Hinweise, wie ich die Remote-Side-Klasse bekommen kann?
X.x2y.property.mapper.class _
relatonshipproperty wird schließlich die Attributdokumentation auf Klassenebene genauso erhalten wie der Mapper jetzt.
bearbeiten. Hier ist ein Test, der das obige zurückkehrende "Y" von "X" illustriert, und keine Reflektion schafft keine Beziehungen, sollte also keinen Effekt haben:
%Vor%Tags und Links python class sqlalchemy relationship relation