0
클래스가 있다고 가정하십시오. 필드가 special_pin
인데 null이 될 수 있지만 특정 컨텍스트에서는 null이 될 수 없습니다. 유효성 검사 함수 (validates_pin
)를 작성하여 해당 필드의 유효성을 검사하려고합니다. 그러나 special_pin
필드가 null 인 경우 유효성 검사 기능이 실행되지 않습니다.null 필드에서 sqlalchemy.orm.validates를 사용하는 방법은 무엇입니까?
는
from sqlalchemy.orm import validates
class User(db.Model):
user_type = db.column(db.String, nullable=False)
special_pin = db.column(db.String)
@validates('special_pin')
def validates_pin(self, key, field):
if self.user_type == 'special'
assert field, 'special user must have special pin'
당신이 결코'special_pin' 속성에 할당 없음을 의미합니까 : 귀하의 유스 케이스는 테이블 수준 check constraint에 적합처럼 보인다? [mcve]를 포함하십시오. 귀하의 DB가 그들을 지원하는 경우 귀하의 사건은 체크 제약 조건에 잘 맞는 것 같습니다. –
예, 그것이 제가 의미했던 것입니다. postgreSQL을 사용하고 있는데 어떻게 제약 조건을 만들어야합니까? – tt123456