I have follow model of my DB:
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)
It's print:
[<__main__.Address object at 0x7fed81592e50>]
But by the docs it should print value instead address.
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.
I tried follow code:
answer = sess.query(User).first()
print(answer.adr.email)
Error:
AttributeError: 'InstrumentedList' object has no attribute 'email'