TurboGears2 / SQLAlchemy:使用自动增量主键将新行插入表中

时间:2009-09-02 07:37:07

标签: sqlalchemy turbogears turbogears2

我是一个菜鸟,我正试着绕过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文件填充多行的表。希望这会给我提供线索,让我把它带到下一步。

提前致谢!

1 个答案:

答案 0 :(得分:1)

嗯,你的问题很简单(我印象深刻,它没有得到答案很长时间:)。

  • 首先为什么要将您的ID列命名为“djID”?为什么不只是id?
  • 其次插入其中,这就是为什么它会自动增量。
  • 第三个first basic SA教程解释了这个