def search_posts(cls, username): """ 查找用户上传的图片 展示在首页 :param username: :return: """ return session.query(User).filter_by(username=username).first()
def get_post(post_id): """ 获取post的id那条数据 用于删除本地图片 :param post_id: :return: """ return session.query(Post).filter(Post.id == post_id).first()
def search_all_thum(): """ 查找所有的缩略图路径 用order_by倒叙查询, 实现新上传的在前 :return: """ return session.query(Post).order_by(Post.id.desc()).all()
def get_like_count(post): """ 统计post.id这张图片有多少人喜欢 :param post: :return: """ return session.query(Like).filter(Like.post_id == post.id).count()
def get_post_id(post_id): """ 用于post路由获取post_id值 :param post_id: :return: """ return session.query(Post).filter(Post.id == post_id).first()
def is_exists(cls, username): """ 判断用户存不存在 用于注册 :param username: :return: """ return session.query(User).filter( exists().where(User.username == username)).first()
def search(cls, username, password): """ 查找用户 用于登录验证 :param username: :param password: :return: """ return session.query(User).filter(User.username == username, User.password == password).first()
def atte_is_exits(cls, m_id, y_id): """ 判断关注 是否已经关注了 如果关注就返回数据 如果没关注就返回None :param m_id: :param y_id: :return: """ return session.query(cls).filter(cls.m_id == m_id, cls.y_id == y_id).first()
def is_exits_like(cls, user_id, post_id): """ 添加喜欢之前先查找这个喜欢存不存在, 如果存在就删除 :param user_id: :param post_id: :return: """ data = session.query(cls).filter(cls.user_id == user_id, cls.post_id == post_id).first() return data
def del_like(cls, user_id, post_id): """ 再次点击红心 删除喜欢 :param user_id: :param post_id: :return: """ like = session.query(cls).filter(cls.user_id == user_id, cls.post_id == post_id).first() session.delete(like) session.commit()
def delete_atte(cls, m_id, y_id): """ 删除关注用户 :param m_id: :param y_id: :return: """ data = session.query(cls).filter(cls.m_id == m_id, cls.y_id == y_id).first() session.delete(data) session.commit() return True
def add_post_db(img_url, thumb_url, user_name): """ 将路径添加到post表中 :param img_url: :param thumb_url: :param user_name: :return: """ user = session.query(User.id).filter(User.username == user_name).first() post = Post(img_url=img_url, thumb_url=thumb_url, user_id=user.id) session.add(post) session.commit() # 返回post.id为了上传成功后直接跳到大图页 return post
def get_like_post(user): """ 查看用户喜欢的图片 :param user: :return: """ if user: # Like表的user_id代表哪一个用户, Like表的post_id代表喜欢哪一张图片, Like表的user_id不等于Post表的user_id 表示自己上传的不能喜欢 # 要查询Post表 因为Post表有图片路径 post = session.query(Post).filter(Like.user_id == user.id, Like.post_id == Post.id, Like.user_id != Post.user_id).all() post.reverse() else: post = [] return post
def get_post(cls, post_id): return session.query(cls).filter(cls.id == post_id).first()
def get_user(username): return session.query(User).filter(User.username == username).first()