@beduin01

Почему не устанавливается связь между таблицами через ForeignKey?

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship

engine = create_engine('sqlite:///:memory:', echo=True)
Session = sessionmaker(bind=engine)
sess = Session()
Base = declarative_base()

class User(Base):
	__tablename__ = 'users'

	id = Column(Integer, primary_key=True)
	name = Column(String)

class Address(Base):
	__tablename__ = 'addresses'
	id = Column(Integer, primary_key=True)
	email = Column(String, nullable=False)
	user_id = relationship('User', ForeignKey('Users.id'))

Base.metadata.create_all(engine)


Ошибка:
AttributeError: 'ForeignKey' object has no attribute 'foreign_keys'
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@zzzevaka
как-то так:

class Address(Base):
  __tablename__ = 'addresses'
  id = Column(Integer, primary_key=True)
  email = Column(String, nullable=False)
  user_id = Column(Integer, ForeignKey('users.id'))
  user = relationship(User)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kgb_zor
@kgb_zor
Мне нужен твой traceback.
class Friend(Base):
    __tablename__ = 'friend'

    user_id = Column(Integer, ForeignKey(User.id), primary_key=True)
    friend_id = Column(Integer, ForeignKey(User.id), primary_key=True)
    request_status = Column(Boolean)

    user = relationship('User', foreign_keys='Friend.user_id')
    friend = relationship('User', foreign_keys='Friend.friend_id')

Насколько я понял ,это запросы написанные во Flask , могу помочь только этим выдранным куском кода
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.
14 авг. 2018, в 22:43
350 руб./за проект
14 авг. 2018, в 19:03
10000 руб./за проект
14 авг. 2018, в 18:10
1000 руб./в час