首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TypeError:__init__()遇到意外的关键字参数错误

TypeError:__init__()遇到意外的关键字参数错误
EN

Stack Overflow用户
提问于 2015-07-18 06:15:46
回答 1查看 10.6K关注 0票数 2

我在一个sqlite数据库中有6个表,我正在尝试使用sqlalchemy在其中一个表中添加新行。下面是我的表格:

代码语言:javascript
代码运行次数:0
运行
复制
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)

下面是我用来向表中添加新序列的代码:

代码语言:javascript
代码运行次数:0
运行
复制
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()

但是我得到了这个错误:

代码语言:javascript
代码运行次数:0
运行
复制
TypeError: __init__() got an unexpected keyword argument 'subject_id'

我不知道这是什么意思,我已经向表中导入了一个带有" subject_id=0“的"subject”实例,所以subject_id=0已经在数据库中了。

有谁能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-18 08:09:21

您的代码看起来很好,如果异常仅在您将源代码拆分到不同的文件时引发。一定存在名称冲突,Sequence类可能不是您所期望的,您可以通过在初始化过程之前添加这些行来检查这一点。

代码语言:javascript
代码运行次数:0
运行
复制
print Sequence.__module__
print type(Sequence)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31485523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档