Simplifié, j'ai la structure de classe suivante (dans un seul fichier) :
Base = declarative_base()
class Item(Base):
__tablename__ = 'item'
id = Column(BigInteger, primary_key=True)
# ... skip other attrs ...
class Auction(Base):
__tablename__ = 'auction'
id = Column(BigInteger, primary_key=True)
# ... skipped ...
item_id = Column('item', BigInteger, ForeignKey('item.id'))
item = relationship('Item', backref='auctions')
J'obtiens l'erreur suivante de ceci :
sqlalchemy.exc.InvalidRequestError
InvalidRequestError: When initializing mapper Mapper|Auction|auction, expression
'Item' failed to locate a name ("name 'Item' is not defined"). If this is a
class name, consider adding this relationship() to the Auction class after
both dependent classes have been defined.
Je ne sais pas comment Python ne peut pas trouver la classe Item, car même en passant la classe, plutôt que le nom sous forme de chaîne, j'obtiens la même erreur. J'ai eu du mal à trouver des exemples de relations simples avec SQLAlchemy, donc s'il y a quelque chose d'assez évident qui ne va pas ici, je m'excuse.