我有一个非常简单的 SqlAlchemy 模型
class User(Base):
""" The SQLAlchemy declarative model class for a User object. """
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
phone = Column(String, unique=True)
email = Column(String, unique=True)
当插入一个新用户时,IntegrityError
如果电子邮件或电话重复,则可能会发生这种情况。
有什么方法可以检测哪一列违反了完整性错误?或者是进行单独查询以查看或存在值的唯一方法?
您可以使用以下方式获取底层代码、消息,并相应地格式化消息。
except exc.IntegrityError as e:
errorInfo = e.orig.args
print(errorInfo[0]) #This will give you error code
print(errorInfo[1]) #This will give you error message
顺便说一句,你必须从 sqlalchemy 导入 exc:from sqlalchemy import exc
如果您需要任何其他信息,请告诉我。我可以尝试一下。
有关 sqlalchemy exc 的更多信息,请查找代码:https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/exc.py https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/exc.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)