def queryByUserId(cls, userid): session = DBSession() u = session.query(cls).filter(cls.id==userid).first() if not u: return None else: return u
def queryByAnswerId(cls, answerId, voteValue): session = DBSession() name = session.query(AutoUser.name).filter(AutoUser.id == AnswerVote.vote_uid, AnswerVote.answer_id == answerId, AnswerVote.vote_value == voteValue).distinct().all() namelist = [] for str in name : namelist.append(str[0]) return namelist
def queryByUsername(cls, username): """ 按用户名查询用户 """ session = DBSession() u = session.query(cls).filter(cls.user_name==username).first() if not u: return None else: return u
def queryByUserIdAndLinkId(cls, userId, linkid): session = DBSession() userVote = session.query(cls).filter(cls.user_id == userId, cls.link_id == linkid).first() session.close() if not userVote: return False else: print userVote return userVote
def checkUsername(cls, username): ''' 检查用户名是否已经被注册 ''' session = DBSession() u = session.query(cls).filter(cls.name==username).first() if not u: return False else: return u print 'hi'
def checkEmail(cls, email): ''' 检查邮箱是否已经被注册 ''' session = DBSession() u = session.query(cls).filter(cls.email==email).first() if not u: return False else: return u print 'hi'
def queryUser(cls, username, password): # 创建session对象: session = DBSession() u = session.query(cls).filter(cls.name==username).first() if not u: return False hashed_password = bcrypt.hashpw(password, tornado.escape.utf8(u.hashed_password)) if u.hashed_password == hashed_password: return u else: print 'wrong password' return False
def addAnswerComment(cls, answer_id, uid, message): obj = cls(answer_id = answer_id, uid = uid, message = message) session = DBSession() session.add(obj) session.commit() session.close() return True
def add(cls, userid, linkid, type): obj = cls(user_id = userid, link_id = linkid, type = type, add_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True
def add(cls, session_id, value): obj = cls(session_id = session_id, value = value, add_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True
def addAnswerVote(cls, answer_id, answer_uid, vote_uid, vote_value): obj = cls(answer_id = answer_id, answer_uid = answer_uid, vote_uid = vote_uid, add_time = long(time.time()), vote_value = vote_value, reputation_factor = 1) session = DBSession() session.add(obj) session.commit() session.close() return True
def add(cls, name, url): obj = cls(uid = uid, name = name, url = url, add_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True
def addAnswer(cls, questionId, answerContent, userId): obj = cls(question_id = questionId, answer_content = answerContent, uid = userId, add_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True
def addQuestion(cls, question_content, question_detail, published_uid): obj = cls(question_content = question_content, question_detail = question_detail, published_uid = published_uid, add_time = long(time.time()), update_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True
def addUser(cls, username, email, password): hashed_password = bcrypt.hashpw(tornado.escape.utf8(password), bcrypt.gensalt()) print hashed_password ret = cls(name = username, email = email, hashed_password = hashed_password) session = DBSession() session.add(ret) session.commit() session.close() return True
def updateVoteByAnswerId(cls, answer_id, type, against_count, agree_count): session = DBSession() # 0反对票, 1赞同票 # if type == '-1' : # print 'update against_count' # session.query(cls).filter(cls.answer_id == answer_id).update({cls.against_count:count}) # elif type == '1' : # print 'update agree_count' # session.query(cls).filter(cls.answer_id == answer_id).update({cls.agree_count:count}) session.query(cls).filter(cls.answer_id == answer_id).update({cls.against_count:against_count, cls.agree_count:agree_count}) session.commit() session.close()
def follow(cls, fansUid, friendUid): ''' 添加关注 同时更新用户表的粉丝数和关注数 ''' ret = cls(fans_uid = fansUid, friend_uid = friendUid) session = DBSession() session.add(ret) session.commit() session.close() # 更新uid为fansUid的关注人数和粉丝数 following = cls.countFollowing(fansUid) follower = cls.countFollower(fansUid) Users.updateFollowCount(fansUid, follower, following) # 更新uid为friendUid的关注人数和粉丝数 following = cls.countFollowing(friendUid) follower = cls.countFollower(friendUid) Users.updateFollowCount(friendUid, follower, following) return True
def unfollow(cls, fansUid, friendUid): ''' 取消关注 ''' # 创建session对象: session = DBSession() ret = session.query(cls).filter(cls.friend_uid==friendUid, cls.fans_uid==fansUid).delete() session.commit() session.close() # 更新uid为fansUid的关注人数和粉丝数 following = cls.countFollowing(fansUid) follower = cls.countFollower(fansUid) Users.updateFollowCount(fansUid, follower, following) # 更新uid为friendUid的关注人数和粉丝数 following = cls.countFollowing(friendUid) follower = cls.countFollower(friendUid) Users.updateFollowCount(friendUid, follower, following) return True
def queryByQuestionId(cls, questionId): session = DBSession() answers = session.query(cls).filter(cls.question_id == questionId).all() return answers
def queryByAnswerId(cls, answerId): session = DBSession() answer = session.query(cls).filter(cls.answer_id == answerId).first() print "answer[0].uid", answer.uid return answer
def queryByAnswerId(cls, answerId): session = DBSession() answer = session.query(cls).filter(cls.answer_id == answerId) return answer
def queryById(cls, sessionId): session = DBSession() captcha = session.query(cls).filter(cls.session_id == session_id) return captcha
import sys sys.path.append("..") from db.dbSession import BaseModel, DBSession from sqlalchemy import Column, String, Integer class AutoUser(BaseModel): """ user model """ __tablename__ = 'authors' id = Column(Integer, primary_key=True, nullable=False) name = Column(String(64), nullable=False) hashed_password = Column(String(64), nullable=False) email = Column(String(64), nullable=False) if __name__ == "__main__": # 创建session对象: session = DBSession() # 创建新User对象: new_user = AutoUser(id='6', name='Bob', hashed_password='******', email = '*****@*****.**') # 添加到session: session.add(new_user) # 提交即保存到数据库: session.commit() # 关闭session: session.close()
def queryAll(cls): session = DBSession() linkList = session.query(cls) return linkList
def queryAllQuestions(cls): session = DBSession() questions = session.query(cls) return questions
@classmethod def addQuestion(cls, question_content, question_detail, published_uid): obj = cls(question_content = question_content, question_detail = question_detail, published_uid = published_uid, add_time = long(time.time()), update_time = long(time.time())) session = DBSession() session.add(obj) session.commit() session.close() return True if __name__ == "__main__": # 创建session对象: session = DBSession() # 创建新User对象: #new_user = AutoUser(id='6', name='Bob', hashed_password='******', email = '*****@*****.**') # 添加到session: #session.add(new_user) query = session.query(Question) for question in query: print question.question_content print question.question_detail print question.comment_count # 提交即保存到数据库: session.commit() # 关闭session: session.close()
def queryById(cls, catalogId): session = DBSession() answer = session.query(cls).filter(cls.id == catalogId) return answer
def queryAllUsers(cls): # 创建session对象: session = DBSession() u = session.query(cls).all() return u
def queryById(cls, questionId): session = DBSession() question = session.query(cls).filter(cls.question_id == questionId).first() return question
def queryPageCount(cls): session = DBSession() count = session.query(cls)