У меня есть две таблицы, users
и contacts
. Я запрашиваю таблицу contacts
и получаю список контактов пользователя. Затем я хотел бы написать Contact.first_name
(где first_name
- это строка из таблицы users
) и распечатать имя этого контакта.Проблема с отображением нескольких внешних ключей в родительскую таблицу
В настоящее время объект Contact
не распознаёт атрибуты таблицы user
.
Вот код:
class User(Base):
""" Basic User definition """
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
first_name = Column(Unicode(255))
last_name = Column(Unicode(255))
contacts = relationship('Contact', backref='users')
class Contact(Base):
__tablename__ = 'contacts'
id = Column(Integer, primary_key=True)
user_id = Column(Integer)
contact_id = Column(Integer)
__table_args__ = (ForeignKeyConstraint([id], [User.id]), {})
Вот мой запрос:
Contact.query.filter(Contact.user_id == self.user_id).filter(Contact.state == True).all()
Честно говоря, я не уверен, как правильно отобразить мои две внешние ключи Contact.user_id
и Contact.contact_id
к User.id
ряд. Может быть, это источник моей проблемы?
Я очень новичок в использовании SQLAlchemy, так что это опыт обучения здесь. Спасибо за вашу помощь.