在SQLite数据库中使用SQLAlchemy生成顺序用户ID。
我需要给访客用户生成一些ID,比如guest1、guest2等等。我该如何使用sqlalchemy让sqlite自动生成这样的ID呢?
1 个回答
1
如果你像这样给一个对象指定一个id:
class Guest(db.Model):
id = db.Column(db.Integer, primary_key=True)
guest_id = db.Column(db.String(15))
数据库会自动给这个id分配一个递增的整数,也就是说,每次新增一个对象,id的值会比上一个大1。
更新一下:这个id只有在对象被保存到数据库后才会被设置。所以,如果你想实现你想要的功能,你需要在对象被保存后调用一个方法。
def create_guest(self):
db.session.add(self)
db.session.commit()
self.guest_id = 'guest{}'.format(self.id)