In user_models.py
, ho questo:In SQLAlchemy, come faccio a creare una relazione ForeignKey su 2 diversi file .py?
class Users(Base):
__tablename__ = 'account_users'
id = Column(Integer, primary_key = True)
username = Column(String(255), nullable=False)
Base.metadata.create_all(engine)
Quando eseguo questo, creare una tabella utente.
Sul mio altro file, groups_models.py
, ho questo:
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)
Quindi, come potete vedere, voglio mettere una relazione molti-a-uno dai gruppi -> utenti.
Ma quando corro groups_models.py
... ottengo questo errore:
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'
Se metto le due tabelle insieme in un unico file, sono sicuro che potrebbe funzionare ... ma perché ho diviso esso in 2 file (che devo assolutamente fare) ... non so come far funzionare le relazioni di ForeignKey più?
Assicurarsi di avere la stessa base per creare tutte le tabelle correlate !!!!! Ho sprecato mezza giornata per questo: / –