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

Far*_*eed 3 python sql orm sqlalchemy check-constraints

我有两个字段:

class Person(base):
     field1 = Column(String(32), unique=True, nullable=True)
     field2 = Column(String(128), unique=True, nullable=True)
     field3 = ...
     ...
Run Code Online (Sandbox Code Playgroud)

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

Far*_*eed 7

感谢这篇文章:

__table_args__ = (
        CheckConstraint('NOT(field1 IS NULL AND field2 IS NULL)'),
        )
Run Code Online (Sandbox Code Playgroud)