我在Flask API中使用带有sqlalchemy的Postgres数据库,我的数据库模型定义如下:
class Cache1(db.Model):
__tablename__ = 'Cache1'
id = db.Column(db.Integer, Sequence('Cache1_id_seq', start=1, increment=1), primary_key=True)
name = db.Column(db.String(20))
问题是当我在我的一个视图中Cache1.query.delete()
然后我尝试在Cache1
中添加新记录时,序列号不会从1开始。我应该总是去Postgres并且做ALTER SEQUENCE "Cache1_id_seq" RESTART WITH 1
。
有人可以告诉我在Sqlalchemy这样做的方法。谢谢你的支持
答案 0 :(得分:2)
对于运行自定义SQL查询,您可以使用session.execute
方法。
engine = db_connect()
session = sessionmaker(bind=engine, autocommit=True)()
session.execute("ALTER SEQUENCE test_id_seq RESTART WITH 1;")
session.close()