我目前有一个有效的type
签入retrieve_user
方法。
我想为传入的新用户对象合并不区分大小写和...
检查条目(在这种情况下
username
为 auser
)的拼写准确性 - 然后抛出一条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()