PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

SQLAlchemy:qualsiasi vincolo per controllare una delle due colonne non è nullo?

Non sono sicuro al 100% di PostgreSQL sintassi, ma in seguito all'aggiunta alle tue BudgetCategories il modello dovrebbe fare il trucco usando CheckConstraint :

class BudgetCategories(Base):
    __tablename__ = 'budget_categories'
    # ...

    # @note: new
    __table_args__ = (
            CheckConstraint('NOT(category IS NULL AND parent_category IS NULL)'),
            )