@beduin01

Почему не получается обратиться к полю через SQLAlchemy?

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.sqlalchemy.org/en/latest/orm/backref.html я должен иметь возможность писать: `answer.adr` и получать значение. А мне печатается адрес в памяти

Пробовал так:
answer = sess.query(User).first()
print(answer.adr.email)


Ошибка:
AttributeError: 'InstrumentedList' object has no attribute 'email'
  • Вопрос задан
  • 310 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы