【发布时间】:2016-07-01 02:16:18
【问题描述】:
如何查看新创建记录的主键 ID?
models.py:
class Foo(db.Model):
id = db.Column(db.Integer, primary_key = True)
foobar = db.Column(db.String(64), unique = True)
def __init__(self, foobar):
self.foobar = foobar
views.py:
foo = Foo(foobar)
db.session.add(foo)
id = How?(foo.id)
【问题讨论】:
-
你在提交后尝试打印(foo.id)吗?而是在 flush() 之后?
-
@ Sayse - 如果您阅读我的问题,您会发现问题与我描述的完全一样 - 我需要知道新创建的记录的主键 ID 才能在数据库中添加其他记录时使用它。到目前为止我所做的 - 我查看了文档,在 SA 上搜索了我的问题,但上述所有内容均未发布。现在,您可以回答了吗?
-
@JL Peyret - 谢谢,“在flush()之后”就是答案。还要感谢 Sayse 的帮助 :)
-
@JLPeyret - 另见first revision
-
@G33K。有一点建议是,当您的问题基本完成并即将发布时,请查看右侧的 Related 列。 SO 在您键入时分析您的问题文本,并经常提取相关答案,即使您之前的搜索没有找到它们。相当神奇。而且...习惯上接受一个答案,如果它解决了你的问题:-) 尤其是因为它向其他人表明了同样的问题,什么是有效的。最后,Sayse 并没有完全错,人们确实会用更好的答案奖励更深思熟虑的研究/格式化。欢迎登机。
标签: python django sqlalchemy