我有一个包含两个实体的测试数据库:post和category,我使用声明式base来执行基础数据的操作,如下所示:
engine = create_engine("sqlite:///test.db")
Base = declarative_base()
Base.metadata.bind = engine
class Post(Base):
__tablename__ = "post"
post_id = Column('id', primary_key=True)
title = Column('title')
...other attributes...
class Category(Base):
__tablename__ = "category"
category_id = Column('id', primary_key=True)
description = Column('name')
...other attributes...
假设我想创建帖子和类别之间的关系(我的数据库中不存在),我该如何创建它?有什么想法吗?
EDIT1:
我会尝试更清楚:数据库已经存在于完成绑定的位置,以及post和category表。我想要的是通过代码在它们之间创建一个关系并将其写入数据库
答案 0 :(得分:0)
create_all
方法支持指定要创建的表:
Base.metadata.create_all(tables=[Post.__table__,])
结果:
$ sqlite3 test.db
sqlite> .tables
post