simplificado, tengo la estructura siguiente clase (en un solo archivo):SQLAlchemy no puede encontrar un nombre de clase
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')
me sale el siguiente error de esto:
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.
No estoy seguro de cómo Python no puede encontrar la clase Item, ya que incluso cuando se pasa la clase, en lugar de que el nombre sea una cadena, obtengo el mismo error. He estado luchando por encontrar ejemplos de cómo hacer relaciones simples con SQLAlchemy, así que si hay algo bastante obvio aquí, me disculpo.
Esta respuesta también puede ser útil: http://stackoverflow.com/questions/7478403/sqlalchemy-classes-across-files –
Esta respuesta también puede ser útil: http://stackoverflow.com/a/4235691/232794 – Sardathrion