如何使用 sqlalchemy 在复合键上建立关系

问题描述 投票:0回答:0

这里是sql要求:

create table wt_question (
  question_id varchar(50),
  question_label text,
  primary key (question_id)
);


  create table question_answer (
  question_id varchar(50) references wt_question (question_id),
  answer_id varchar(50),
  primary key (question_id, answer_id)
);

create table result (
  question_id varchar(50) references wt_question (question_id),
  answer_id varchar(50),
  primary key (question_id, answer_id),
  foreign key (question_id, answer_id) references question_answer (question_id, answer_id)
);

我在构建最后一个 ORM 时遇到问题: 我的代码:

class Result(Base):
    __tablename__ = "wt_result"
    __table_args__ = {"schema": "wallon"}
    question_id = sa.Column(sa.TEXT(length=50),sa.ForeignKey(WtQuestion.question_id), nullable=False, primary_key=True)
    answer_id = sa.Column(sa.TEXT(length=50), nullable=False,primary_key=True)
    __table_args__ = (
    ForeignKeyConstraint(["question_id", "answer_id"]),
)

错误:

TypeError: ForeignKeyConstraint.__init__() missing 1 required positional argument: 'refcolumns'

有朋友可以帮忙吗

python sqlalchemy orm flask-sqlalchemy composite
© www.soinside.com 2019 - 2024. All rights reserved.