【问题标题】:Generate user ids in a sequence using sqlalchemy in sqllite databse. [closed]在 sqlite 数据库中使用 sqlalchemy 按顺序生成用户 ID。 [关闭]
【发布时间】:2014-09-19 05:29:30
【问题描述】:

我需要给来宾用户 id ie,guest1,guest2... 如何让 sqllite 使用 sqlalchemy 生成这样的 id。

【问题讨论】:

    标签: python sqlite sqlalchemy pyramid


    【解决方案1】:

    如果你分配一个这样的 id:

    class Guest(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        guest_id = db.Column(db.String(15))
    

    数据库将自动分配一个自动递增的整数作为 id。

    更新:只有在对象被提交到数据库后才会设置 ID,因此为了实现您想要做的事情,您需要在对象被提交后调用该对象的方法。

    def create_guest(self):
        db.session.add(self)
        db.session.commit()
        self.guest_id = 'guest{}'.format(self.id)
    

    【讨论】:

    • 在自动生成的整数之前我需要一个字符串。
    • 您是否真的需要该字符串,或者您是否可以覆盖__repr__ 方法来显示该类的任何实例?
    • 我认为最好使用整数 id 并创建另一个列,该列将是字符串 guest 加上 id。
    猜你喜欢
    • 2017-09-30
    • 2020-08-10
    • 2010-11-24
    • 1970-01-01
    • 2011-10-08
    • 2013-10-21
    • 2012-05-23
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多