use*_*692 6 postgresql indexing sqlalchemy foreign-keys
我使用sqlalchemy在下面创建两个表:
class Classroom(Base):
__tablename__ = 'classroom'
building = Column(String(256), primary_key = True)
room_no = Column(String(256), primary_key = True)
capacity = Column(Integer)
class Section(Base):
__tablename__ = 'section'
course_id = Column(String(256), ForeignKey('course.course_id'), primary_key = True)
building = Column(String(256), ForeignKey('classroom.building'))
room_no = Column(String(256), ForeignKey('classroom.room_no'))
Run Code Online (Sandbox Code Playgroud)
但是,我得到了错误说:
sqlalchemy.exc.ProgrammingError: (ProgrammingError) there is no unique constraint matching given keys for referenced table "classroom"
Run Code Online (Sandbox Code Playgroud)
use*_*692 15
我只是想通了,在这种情况下我需要有一个多列foreig键约束:将我的节模型更改为:
class Section(Base):
__tablename__ = 'section'
course_id = Column(String(256), ForeignKey('course.course_id'), primary_key = True)
building = Column(String(256))
room_no = Column(String(256))
__table_args__ = (ForeignKeyConstraint([building, room_no],[Classroom.building, Classroom.room_no]), {})
Run Code Online (Sandbox Code Playgroud)
一切正常.
归档时间: |
|
查看次数: |
2161 次 |
最近记录: |