我正在尝试学习 SQLAlchemy 1.4.x 并遵循基本的 tutorial。我想知道为什么我的查询似乎返回内存地址而不是对象本身。我的代码基本上是 tuorial 1:1 的:
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker
engine = create_engine('sqlite:///:memory:', echo=True)
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String)
fullname = Column(String)
Base.metadata.create_all(engine)
ed_user = User(name='ed', fullname='eduardo')
Session = sessionmaker(bind=engine)
session = Session()
session.add(ed_user)
our_user = session.query(User).filter_by(name='ed').first()
这让我着迷
>>>> our_user
<__main__.User at 0x10c4ef9a0>
而根据教程,我应该得到
>>>> our_user
<User(name='ed', fullname='eduardo', id=1)>
似乎我得到的东西使我的表的检查和调试变得更加困难。我在这里做错了什么吗?