def show_all_posts_of_user(): session = Session() query_posts = session.query(Post).filter(User.id == 1) print("Вывести все посты пользователя с id==1:") for post in query_posts: print(post) session.close()
def show_methods(): print(DECOR) print("Разбираем методы") session = Session() query_first_tag = session.query(Tag).filter(Tag.id == 1) print("Список первого тега через list", list(query_first_tag)) print("Список первого тега через .all",query_first_tag.all()) query_tag = session.query(Tag.name).filter( Tag.name.contains("боевик") ) print("Tag.name.contains(боевик) .all ", query_tag.all()) q_user = session.query(User.username).filter(User.id == 1) user = q_user.one() print("User.id == 1 ->", user) # Берем первого пользователя из запроса res_username = q_user.scalar() print('username:', res_username) session.close()
def show_posts_and_tags(): session = Session() query_posts = session.query(Post) # query_tags = session.query(Tag) query_posts = query_posts.all() print("Вывести все посты и их теги:") for post in query_posts: print(post, post.tags) session.close()
def add_tags_to_posts(): print(DECOR) print("Добавляем теги к постам:") session = Session() # Назначим первый тег первому посту tag = session.query(Tag).first() post: Post = session.query(Post).first() post.tags.append(tag) # Назначим тег содержащий "боевик" посту содержащему "Гладиатор" post_war = session.query(Post).filter(Post.title.contains('Гладиатор')).one() tag_war = session.query(Tag).filter(Tag.name.contains('боевик')).one() post_war.tags.append(tag_war) session.commit() print("Пост -", post, "с тегом -", post.tags) print("Тег -", tag,"к посту -", tag.posts) print("Пост -", post_war, "с тегом -", post_war.tags) print("Тег -", tag_war, "к посту -", tag_war.posts) session.close()
def show_existing_tags(): print(DECOR) print("Все имеющиеся теги") session = Session() q_tags = session.query(Tag) tag = q_tags.first() print("(Первый тег) .first()", tag) print("Теги к постам", tag.posts) tags1 = q_tags.all() for tag in tags1: print("Все теги методом .all()", tag) session.close()
def show_posts_without_tags(): session = Session() query_posts = session.query(Post) # query_tags = session.query(Tag) query_posts = query_posts.all() print("Вывести все посты без тегов:") for post in query_posts: if post.tags: pass else: print(post) session.close()
def show_join(): print(DECOR) print("Разбираем join") session = Session() query_user_join = session.query( User, ).join( Post, User.id == Post.user_id, ).filter( Post.title.contains('Гамми') ) print("Post.title.contains('Гамми')", query_user_join.all()) session.close()
def load_user(user_id): return Session.query(User).filter_by(id=user_id).one_or_none()