Спасибо, очень сложно было разбираться в алхимии из-за обилия старого кода(до 2.0) в интернете, теперь всё намного понятнее, очень жду про relations, поломали они мне запросов на проекте)
Здравствуйте. Смотрю Ваши уроки, все понятно и прекрасно) Однако который день мучаюсь с проблемой - как сохранять данные в бд? Вопрос звучит глупо, но идей уже ноль. Данные сохраняются только на один запуск кода. Если комментирую session. comit(), то при запросе select показывает, что база данных пуста. Подскажите, пожалуйста, как это можно исправить?
Полезное видео. Автор, только одно замечание к твоим видео - не называй экземпляры классов инстанциями, слух режет честное слово. Существует судебная инстанция, но это из другой оперы. Есть еще несколько замечаний по другим видео, но они незначительные, о них я умолчу. По этой конкретно теме ты разложил то чего я не нашел у других авторов. Классно. Респект.
Стрёмно, конечно, так делать: пошептал вначале, чтоб я громкость прибавил, а потом долбанул по ушам проигрышем. А когда оглушил, снова шептать.
Спасибо, очень сложно было разбираться в алхимии из-за обилия старого кода(до 2.0) в интернете, теперь всё намного понятнее, очень жду про relations, поломали они мне запросов на проекте)
Можешь снять видио с осинхронной работой с бд
Разница в синхронной и асинхронной работе минимальна, и тем более на канале уже было видео по организации асинхронной алхимии (в курсе aiogram)
Здравствуйте. Смотрю Ваши уроки, все понятно и прекрасно) Однако который день мучаюсь с проблемой - как сохранять данные в бд? Вопрос звучит глупо, но идей уже ноль. Данные сохраняются только на один запуск кода. Если комментирую session. comit(), то при запросе select показывает, что база данных пуста. Подскажите, пожалуйста, как это можно исправить?
нужно смотреть код
@@massonnn могу скинуть сюда
@@massonnn from sqlalchemy import create_engine, inspect, select
from sqlalchemy.orm import Session, DeclarativeBase, Mapped, mapped_column
engine = create_engine(url='sqlite+pysqlite:///:memory:', echo=True)
session = Session(engine, expire_on_commit=True, autoflush=False)
class Base(DeclarativeBase):
pass
class User(Base):
__tablename__ = 'users'
id: Mapped[int] = mapped_column(primary_key=True)
name: Mapped[str]
age: Mapped[int]
surname: Mapped[str]
Base.metadata.create_all(engine)
def set_user(name: str, surname: str, age: int):
session.add(User(age=age, name=name.capitalize(), surname=surname.capitalize()))
def get_user(name: str, surname: str, age: int):
result = session.execute(
select(User).where(User.name == name.capitalize(), User.surname == surname.capitalize(), User.age == age))
return result.mappings().all()
set_user(name='Привет', surname='goodbye', age=123)
session.commit()
print(get_user(name='Привет', surname='goodbye', age=123))
@@stepanbrop9888 лучше в чат в тг, здесь будет сложно читать
@@massonnn Хорошо, спасибо
Полезное видео. Автор, только одно замечание к твоим видео - не называй экземпляры классов инстанциями, слух режет честное слово. Существует судебная инстанция, но это из другой оперы. Есть еще несколько замечаний по другим видео, но они незначительные, о них я умолчу.
По этой конкретно теме ты разложил то чего я не нашел у других авторов. Классно. Респект.
Инстанция в данном случае это калька на "instance", что буквально переводится как экземпляр. Дело привычки, но я стараюсь избавиться от таких слов.