簡體   English   中英

在提交對象之前從SqlAlchemy獲取主鍵

[英]Get primary key from SqlAlchemy before commit the object

我一直在使用sqlalchemy和postgres,卻不知道如何解決以下問題。

我想在提交數據庫之前獲取主鍵的值。

我有一個名為process的類,它具有proc_id和另一個名為proc_num的元素。

class process(db.Model):
    __tablename__ = 'tb_processos'
    proc_id = db.Column(db.Integer, primary_key=True, nullable=False,
                        autoincrement=True, unique=True)
    proc_num = db.Column(db.String(20))

由於我的原因,proc_num必須為String類型。

創建對象時,我希望proc_num接收proc_id。

如何做到這一點的最佳方法?

對不起我的英語不好 :/

謝謝

您可以使用flush()方法,直到您調用commit()為止,更改不會永久保留在磁盤上:

p = process(proc_num=45)
db.session.flush(p)
p = process.query.filter_by(proc_num=45)
p.proc_id

# finally you can call commit
db.session.commit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM