0
FlaskとSQLAlchemyでWTFormを使用する。ユーザー名と電子メールフィールドからデータを取得し、それがデータベースにないことを確認します。ここで私は今何をしなければなりません。私がやりたい何関数のキーワードとなるクラスに引数を渡す
class IsUnique(object):
def __init__(self, db_field=None):
self.db_field = db_field
def __call__(self, form, field):
data = field.data
if self.db_field=='name':
if User.query.filter_by(name=data).first() != None:
raise ValidationError('Sorry, that username is taken.')
if self.db_field=='email':
if User.query.filter_by(email=data).first() != None:
raise ValidationError(
'Sorry, that email address has already been registered.'
)
は、文字列としてクラスインスタンスにdb_field引数を渡すとUser.query.filter_by(db_field=data
にそれを渡すことです。残念なことに私がやるべきことは、動作するif文を使うことですが、ちょっと面倒です。これを行う方法があるはずですが、どうすればよいか分かりません。