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?

InformationsquelleAutor TIMEX | 2011-11-24
Schreibe einen Kommentar