私はFlask + Pythonを使用しており、ユーザー名(および電子メール)がすでに使用されているかどうかを確認するために、このロジックを使用しています:
@app.route('/register', methods=['GET', 'POST'])
def register():
form = SignupForm()
if form.validate_on_submit():
user = Users.query.filter_by(username=form.username.data).first()
email = Users.query.filter_by(email=form.email.data).first()
if form.username.data in user:
error = 'Username already taken. Choose another'
elif form.email.data in email:
error = 'Email already registered. Login or register with another Email'
else:
user = Users(
form.username.data,
form.password.data,
#form.confirm.data ,
form.email.data,
1,
# form.cityaddress.data,
# form.countryaddress.data,
#form.accept_tos.data,
)
db.session.add(user)
db.session.commit()
return redirect(url_for('index'))
しかし、次のようなエラーが発生しますobject has no attribute 'username'
データベースからデータを取得するためのロジックが正しくないことはわかっています。私は SQLalchemy についてほとんど知識がありません。
テーブルから列の値をフェッチUsername
(および)し、同じものがあるかどうかを確認するにはどうすればよいですか?Email
Users
form.username.data