违规的属性我有一个非常简单的SQLAlchemy模型如何找到一个SQLAlchemy的IntegrityError
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
。
有没有什么方法可以检测到哪列违反了完整性错误?或者是进行单独查询查看或存在值的唯一方法?
你可以把每个都放在try/except子句中捕获IntegrityError并作出相应的反应......但是2人共享手机不可能吗? (我的妻子和我......) – mgilson
@mgilson是的,我知道了,但我想知道哪两列是违规的;邮件或者电话。对于这个商业案例,需要电话号码是唯一的(通过电话登录)。 –
我不认为你可以这样做,而不解析所使用的后端(或'rdbms'驱动程序)提供的异常消息。 – van