Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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()
Ejemplo n.º 6
0
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()
Ejemplo n.º 7
0
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()
Ejemplo n.º 8
0
def load_user(user_id):
    return Session.query(User).filter_by(id=user_id).one_or_none()