gpt4 book ai didi

python - 使用 SQLAlchemy 获取最后插入的 ID

转载 作者:太空狗 更新时间:2023-10-29 20:44:23 27 4
gpt4 key购买 nike

我正在使用 SQLAlchemy

import hashlib
import sqlalchemy as sa
from sqlalchemy import orm

from allsun.model import meta


t_user = sa.Table("users",meta.metadata,autoload=True)

class Duplicat(Exception):
pass
class LoginExistsException(Exception):
pass
class EmailExistsException(Exception):
pass

class User(object):
"""
def __setattr__(self, key, value):
if key=='password' :
value=unicode(hashlib.sha512(value).hexdigset())
object.__setattr__(self,key,value)
"""
def loginExists(self):
try:
meta.Session.query(User).filter(User.login==self.login).one()
except orm.exc.NoResultFound:
pass
else:
raise LoginExistsException()

def emailExists(self):
try:
meta.Session.query(User).filter(User.email==self.email).one()
except orm.exc.NoResultFound:
pass
else:
raise EmailExistsException()


def save(self):
meta.Session.begin()
meta.Session.save(self)
try:
meta.Session.commit()
except sa.exc.IntegrityError:
raise Duplicat()

调用时如何获取最后插入的id:

user = User()
user.login = request.params['login']
user.password = hashlib.sha512(request.params['password']).hexdigest()
user.email = request.params['email']
user.save()

最佳答案

保存 user 对象后,您可以访问 user.id(或您用于自动递增主键字段的任何名称)。 SQLAlchemy 自动填充数据库分配的字段。

关于python - 使用 SQLAlchemy 获取最后插入的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2618714/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com