In SQLAlchemy, wie erstelle ich einen ForeignKey Beziehung über 2 unterschiedliche .py Dateien?
In user_models.py
habe ich diese:
class Users(Base):
__tablename__ = 'account_users'
id = Column(Integer, primary_key = True)
username = Column(String(255), nullable=False)
Base.metadata.create_all(engine)
Wenn ich dieses erstelle ich eine Tabelle user.
Auf meine andere Datei groups_models.py
habe ich diese:
class Groups(Base):
__tablename__ = 'personas_groups'
id = Column(Integer, primary_key = True)
user_id = Column(Integer, ForeignKey('account_users.id')) #This creates an error!!!
user = relationship('Users') #this probably won't work. But haven't hit this line yet.
Base.metadata.create_all(engine)
So, wie Sie sehen können, ich möchte eine viele-zu-eins-Beziehung von Gruppen -> Benutzer.
Aber wenn ich groups_models.py
...ich bekomme diese Fehlermeldung:
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'personas_groups.user_id' could not find table 'account_users' with which to generate a foreign key to target column 'id'
Wenn ich die beiden Tabellen zusammen in einer Datei, ich bin mir sicher, dass es funktionieren könnte...aber da ich es aufgeteilt in 2 Dateien (die ich auf jeden Fall)...ich weiß nicht, wie man ForeignKey-Beziehungen funktionieren nicht mehr?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Schlüssel ist, um mit der gleichen Basis, die für beide Fremdschlüssel, anstatt einen neuen zu erstellen für jede Tabelle.
basetest.py
user_models.py
groups_models.py
Stellen Sie sicher, dass Sie haben gleichen
Base
zu erstellen, die alle verknüpften Tabellen.