我是一名菜鸟,正在尝试了解 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教程解释了这一点
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top