SQLAlchemyのドキュメントでは、@ validatesデコレータを使用してモデルにバリデーションを追加する方法を説明しています。2つのフィールドのsqlalchemyバリデータ
私は2つの日付のモデルを持っています。そして、1つの日付が常に2番目の日付より大きいことを保証するバリデーターを作成したいと思います。モデルレベルのバリデーターを作成することは可能ですか?もしそうなら、構文は何ですか?
SQLAlchemyのドキュメントでは、@ validatesデコレータを使用してモデルにバリデーションを追加する方法を説明しています。2つのフィールドのsqlalchemyバリデータ
私は2つの日付のモデルを持っています。そして、1つの日付が常に2番目の日付より大きいことを保証するバリデーターを作成したいと思います。モデルレベルのバリデーターを作成することは可能ですか?もしそうなら、構文は何ですか?
ここにバリデーターの小さな例があります。
モデルの宣言でCheckConstraintを使用できます。または@validatesデコレータを使用することもできます。しかし、これは最初の引数の各名前に対してSQLAlchemyによって呼び出されます。 https://gist.github.com/matrixise/6417293
なぜあなたは一つだけを検証し、それが他の要求事項を満たしていることを確認することができません:、このコードをチェックし
してください?例えば。 'assert self.repeat_email == address'またはそれに類するもの? – javex
それはおそらく動作する可能性がありますが、私は初期化中に任意の問題をトラップする必要があります。フィールドごとにいくつかのバリデータを定義し、フィールドが有効な状態を作成するかどうかを判断するために行バリデータを使用することをお勧めします。行の検証を1つの場所で行い、異なるフィールドバリデータ全体に散らばっていないようにすることは、より明確でメンテナンスが容易なように感じます。 – danatron