Ich habe mehrere Fragen dazu gelesen und ich weiß noch nicht, was die beste Lösung für dieses Problem ist. Angenommen, wir ein Modell wie dieses:Sqlalchemy Fehlerbehandlung und benutzerdefinierte Validierungen
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)
In meinem Controller, ich möchte einen Benutzer erstellen, während Parameter Validierung und sqlalchemy Fehlerbehandlung auf diese Anfrage zu beantworten.
Validierungsprüfungen:
- E-Mail uniqeness
- Passwort nicht null sein kann
- Passwort mindestens 6 Zeichen lang sein.
für Validierung Nummer 3, können wir validates Decoraor verwenden. für die erste 2 Validierung, können wir diesen Benutzer hinzufügen und commit und irgendwie sqlalchemy.exc.SQLAlchemyError Fehler analysieren, die ausgelöst wird.
Aber ich mag diesen Weg wirklich nicht. weil es ist so schmutzig und nicht skalierbar. Einige Validierungen wie uniqeness müssen nach db abfragen. überprüft aber, ob ein Wert null ist, muss nicht nach db abfragen und sqlAlchemyError analysieren.
Was ist der beste Weg, um verschiedene Arten der Validierung zu behandeln?
Was ist die beste Methode zum Parsen von sqlAlchemyError-Nachrichten und zum Zurücksenden von korrekten HTTP-Statuscodes an Clients?
Wie ist es nicht skalierbar? –