現在、有効なtype
チェックインretrieve_user
方法があります。
着信する新しいユーザー オブジェクトの大文字と小文字を区別しないようにしたいのですが...
エントリ (この場合
username
は a ) のスペルの正確さをチェックします。次に、スペルミスのデバッグ用のメッセージをスローします。user
Error
a のつづりが間違っているNotFoundError
場合は、フラグを立てる必要があると思います。username
間違ったユーザー名は何もしないため、これは機能していないようです。
コード:
def create_user(self, username, password, firstname, lastname, email):
new_user = User(username, password, firstname, lastname, email)
self.session.add(new_user)
self.session.commit()
print(username, firstname, lastname)
def retrieve_user(self, something_unique):
if isinstance(something_unique, int):
return self.session.query(User).\
filter(User.user_id == something_unique).one()
elif isinstance(something_unique, basestring):
return self.session.query(User).\
filter(func.upper((User.username == something_unique))).first() #<DOESNT WORK! results in no entry and no error message
if NoResultFound:
raise NotFoundError('No results found')
elif MultipleResultsFound:
raise MultipleResultsFound('Too many results found')
elif isinstance(something_unique, User):
return something_unique
else:
raise ValueError('Value being passed is an object')
質問 1 が解決されました:
filter(func.lower(User.username) == func.lower(something_unique)).first()