У меня есть 6 таблиц в базе данных sqlite, и я пытаюсь добавить новую строку в одну из таблиц с помощью sqlalchemy. Вот мои таблицы:ТипError: __init __() получил неожиданную ошибку аргумента ключевого слова
class DSource(Base):
__tablename__ = 'dsource'
source_id = Column(Integer, primary_key=True)
subjects= relationship("Subject")
class Subject(Base):
__tablename__ = 'subject'
subject_id = Column(Integer, primary_key=True)
source_id=Column(Integer, ForeignKey("dsource.source_id"),nullable=False)
sequences= relationship("Sequence")
class Sequence(Base):
__tablename__ = 'sequence'
sequence_id = Column(Integer, primary_key=True)
subject_id=Column(Integer, ForeignKey("subject.subject_id"),nullable=False)
Вот код, я использую, чтобы добавить новую последовательность в таблице:
engine = create_engine('sqlite:////Desktop/emotion_data/test.db',echo=True)
Session = sessionmaker(bind=engine)
session = Session()
new_sequence=Sequence(sequence_id=0,subject_id=1)
session.add(new_sequence)
session.commit()
Но я получаю эту ошибку:
TypeError: __init__() got an unexpected keyword argument 'subject_id'
Я понятия не имею, что это значит, я уже импортировал экземпляр «subject» с «subject_id = 0» в таблицу, поэтому subject_id = 0 уже находится в базе данных.
Может ли кто-нибудь помочь мне?
Я также должен упомянуть, что определение таблиц и кода, который я использую для добавления новой последовательности, находятся в разных файлах python. Я импортировал вышеуказанные классы до вызова session.add(). Если я поместил их все вместе в один файл python, он отлично работает без ошибок. – user2308191