如何在 Sqlalchemy ORM 中检查表中两个特定字段中的至少一个是不是为 NOT NULL? [复制]

Posted

技术标签:

【中文标题】如何在 Sqlalchemy ORM 中检查表中两个特定字段中的至少一个是不是为 NOT NULL? [复制]【英文标题】:How to check if at least one of two specific fields in a table is NOT NULL in Sqlalchemy ORM? [duplicate]如何在 Sqlalchemy ORM 中检查表中两个特定字段中的至少一个是否为 NOT NULL? [复制] 【发布时间】:2015-12-29 21:17:55 【问题描述】:

我有两个字段:

class Person(base):
     field1 = Column(String(32), unique=True, nullable=True)
     field2 = Column(String(128), unique=True, nullable=True)
     field3 = ...
     ...

我需要创建一个约束,以检查是否至少有一个 [field1, field2] 可用。我想我需要使用CheckConstraint,但我没有得到结果。有什么想法吗?

【问题讨论】:

【参考方案1】:

感谢this 发帖:

__table_args__ = (
        CheckConstraint('NOT(field1 IS NULL AND field2 IS NULL)'),
        )

【讨论】:

以上是关于如何在 Sqlalchemy ORM 中检查表中两个特定字段中的至少一个是不是为 NOT NULL? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SQLAlchemy 仅从连接表中选择列

在 SqlAlchemy ORM 中填充相关表

使用 Laravel 中的验证器检查两个表中两列的唯一性

Flask-SQLAlchemy 检查表中是不是存在行

ORM框架SQLAlchemy的使用

SQLAlchemy