Python 在sqllite数据库中使用sqlalchemy按顺序生成用户ID。

Python 在sqllite数据库中使用sqlalchemy按顺序生成用户ID。,python,sqlite,sqlalchemy,pyramid,Python,Sqlite,Sqlalchemy,Pyramid,我需要给来宾用户ID,比如guest1,guest2。。。如何让sqllite使用sqlalchemy生成这样的id。如果您分配这样的id: class Guest(db.Model): id = db.Column(db.Integer, primary_key=True) guest_id = db.Column(db.String(15)) 数据库将自动分配一个自动递增的整数作为id 更新:id仅在对象提交到DB后设置,因此要实现您想要做的事情,您需要在对象提交后调用方法

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

如果您分配这样的id:

class Guest(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    guest_id = db.Column(db.String(15))
数据库将自动分配一个自动递增的整数作为id

更新:id仅在对象提交到DB后设置,因此要实现您想要做的事情,您需要在对象提交后调用方法

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

在自动生成的整数之前,我需要一个字符串。您真的需要该字符串吗?或者您是否可以重写
\uuu repr\uuuu
方法以显示该类的任何实例?我认为最好使用整数id并创建另一列,该列将是字符串
guest
加上id。