我已经遵循我的数据库模型:
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
adr = relationship('Address', backref='uuu')
class Address(Base):
__tablename__ = 'addresses'
id = Column(Integer, primary_key=True)
email = Column(String, nullable=False)
# user_id = Column(Integer)
user_id = Column(Integer, ForeignKey('users.id'))
Base.metadata.create_all(engine)
answer = sess.query(User).first()
print(answer.adr)
是印刷品:
[<__main__.Address object at 0x7fed81592e50>]
但是docs应该打印值而不是地址。你知道吗
The above configuration establishes a collection of
Address
objects onUser
calledUser.addresses
. It also establishes a.user
attribute onAddress
which will refer to the parentUser
object.
我试着遵循代码:
answer = sess.query(User).first()
print(answer.adr.email)
错误:
AttributeError: 'InstrumentedList' object has no attribute 'email'
它打印的是绝对正确的。你知道吗
如果需要单个列的值,则需要打印
answer.adr.email
。请注意,answer.adr
是一个列表,而不是一个对象,因此您还需要遍历它。你知道吗相关问题 更多 >
编程相关推荐