TurboGears2/SQLAlchemy:将新行插入到具有自动增量主键的表中
-
21-09-2019 - |
题
我是一名菜鸟,正在尝试了解 TG2 和 SQLAlchemy。我目前正在解决的具体问题是当 PK 字段配置为自动增量时如何将新行插入表中。
例如:
在我的 myproject.model.myproject.py 文件中,我定义了下表:
class Dj(DeclarativeBase):
__tablename__ = 'djs'
#{ Columns
djID = Column(Integer, autoincrement=True, primary_key=True)
djname = Column(String)
djwebpage = Column(String)
#}
在我的 websetup.py 文件中,我用一些初始数据填充它。由于这是第一行数据,我作弊并将 djID 定义为“1”
dj = model.Dj("1", "DJ Anonymous", "http://www.djanonymous.com")
如果我希望 websetup.py 在 djs 表中创建第二行(通过对象 Dj),我该怎么做?
我之前尝试过很多不同的事情,但都没有成功。例如,如果我使用相同的格式,但只包含 2 个字符串(对于 djname 和 djwebpage 列),我会收到一条错误消息,抱怨我没有提供足够的参数。
当然,最终,我需要弄清楚如何创建一个控制器以允许我将新条目插入表中......但我会一步一步地学习,并且很感激能够通过 websetup.py 文件成功地用多行预填充表。希望这能给我线索,让我能够进入下一步。
提前致谢!
解决方案
嗯,你的问题很简单(令我印象深刻的是,它这么长时间都没有得到答复:)。
- 首先为什么将你的 id 列命名为“djID”?为什么不只是id?
- 第二个你 不 插入其中,这就是它自动增量的原因。
- 第三个 第一基础 SA教程解释了这一点
不隶属于 StackOverflow