私はこれに関するいくつかの質問を読んだが、私はまだこの問題のための最良の解決策を知らない。私たちはこのようなモデルがあるとします。パラメータを検証し、この要求に応答しSQLAlchemyのエラーを処理しながら、私のコントローラでSqlalchemyのエラー処理とカスタム検証
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
email = Column(String, unique=True)
fullname = Column(String)
password = Column(String, nullable=False)
を、私は、ユーザーを作成します。
検証チェック:
- 電子メールuniqeness
- パスワードがnull
- パスワードは6文字以上でなければならないことはできません。
検証番号3の場合、デコレータの検証に使用できます。 最初の2つの検証では、このユーザーを追加してコミットし、何らかの理由でsqlalchemy.exc.SQLAlchemyErrorエラーを解析します。
しかし、私は本当にこのように好きではありません。 だから汚いとはスケーラブルではないのでです。 uniqenessのようないくつかのバリデーションはdbに問い合わせる必要があります。値がNULLであるかどうかを確認するために、dbにクエリしてsqlAlchemyErrorを解析する必要はありません。
さまざまなタイプの検証を処理する最も良い方法は何ですか?
sqlAlchemyErrorメッセージを解析し、適切なHTTPステータスコードをクライアントに返す最適な方法は何ですか?
どのようにスケーラブルではありませんか? –