def func(): user = User.query.get(current_user.id) if request.method == 'POST': followed_id = request.form['followed_id'] if db.session.query(exists().where(User.id == int(followed_id))) and \ len(Following.query.filter(followed_id == Following.followed_id and \ Following.follower_id == user.id).all()) == 0: following = Following(followed_id=int(followed_id), follower_id=current_user.id) user.followings.append(following) db.session.commit() return 'follow' else: unfollowed_id = followed_id following = Following.query.filter( unfollowed_id == Following.followed_id and \ Following.follower_id == user.id).delete() db.session.commit() return 'unfollow' all_users = User.query.filter(User.id != user.id).all() followed = set([f.followed_id for f in user.followings]) return render_template('follow.jinja2', all_users=all_users, followed=followed)
def follow(user): followed_user = User.query.filter_by(username=user).first() follower = Followers(follower=current_user.username, user_id=followed_user.id) following = Following(user=user, user_id=current_user.id) db.session.add(following) db.session.add(follower) db.session.commit() return redirect(url_for('view_profile', user=user))
def seed_follows(): follow = [ Following(user_id=1, followed_user_id=1), Following(user_id=1, followed_user_id=2), Following(user_id=1, followed_user_id=3), Following(user_id=1, followed_user_id=4), Following(user_id=1, followed_user_id=5), Following(user_id=2, followed_user_id=1), Following(user_id=2, followed_user_id=2), Following(user_id=2, followed_user_id=3), Following(user_id=2, followed_user_id=4), Following(user_id=5, followed_user_id=3), Following(user_id=5, followed_user_id=4), Following(user_id=5, followed_user_id=5), Following(user_id=4, followed_user_id=3), Following(user_id=4, followed_user_id=4), Following(user_id=4, followed_user_id=5), Following(user_id=3, followed_user_id=1), Following(user_id=3, followed_user_id=2), Following(user_id=3, followed_user_id=3), Following(user_id=3, followed_user_id=4), Following(user_id=5, followed_user_id=1), ] db.session.add_all(follow) db.session.commit()
def post_following(user_id): data = request.json follow = Following(user_id=data['userId'], followed_user_id=user_id) db.session.add(follow) db.session.commit() return {'message': 'Done'}, 201