열 이름과 해당 유형 집합이 주어지면 목표는
으로 테이블과 해당 매핑 된 클래스를 인스턴스화하는 것입니다.Sqlalchemy 동적으로 테이블 및 매핑 된 클래스를 만듭니다.
여기에 게시 된 질문과 관련이 있습니다 : Dynamic Class Creation in SQLAlchemy.
table = Table(tbl,
metadata,
*(Column(col, ctype, primary_key=pk, index=idx) for col, ctype, pk, idx in zip(attrs, types, primary_keys, indexes))
)
이 테이블 객체를 생성 :
지금까지 나는 다음 있습니다. 이제 해당 클래스를 만들어야합니다.
mydict={'__tablename__':tbl}
cls = type(cls_name, (Base,), mydict)
이 나에게 다음과 같은 오류를 제공합니다 :
ArgumentError: Mapper Mapper|persons_with_coord|t_persons_w_coord could not assemble any primary key columns for mapped table
내 질문은 내가 클래스 작성의 일부로서 기본 키를 지정합니까 방법이다. 그리고 클래스를 만든 후 나는 다음과 같이 매퍼를 호출해야 할 :
mapper(cls, table)