SQLAlchemy не генерирует исключенийPython

Программы на Python
Ответить
Гость
 SQLAlchemy не генерирует исключений

Сообщение Гость »


Я пытаюсь добавить дочерний класс к родительскому классу. Проблема в том, что даже когда я делаю ошибки намеренно, код не генерирует исключений, но не работает. Я не обнаружил ошибок в IDE, поскольку пробовал несколько IDE (Spyder, PyCharm, VSC), и ни одна из них не выявила исключений. Я также пытался явно вывести исключения, но это тоже не сработало (хотя в некоторых случаях это сработало, что меня совершенно поразило). Более того, код даже не доходит до команды печати, которую я там установил. Вот что у меня есть:

database_append_card.py:

async def Append_all (сообщение: типы. Сообщение, состояние: FSMContext): асинхронно с state.proxy() в качестве данных: новая_карта = CardBase( name=data['card_name'], фронт=данные['фронт'], назад=данные['обратно'], ) жду add_child_to_db( ребенок = новая_карта, столбец = строка (сообщение.from_user.id), родительский_класс = UserBase, my_async_session=async_session_maker) await bot.send_message(message.from_id, 'Карточка добавлена! ✅') database_commands.py:

async def add_child_to_db( ребенок, столбец, родительский_класс, my_async_session: AsyncSession): """ Добавляет дочерний класс к родительскому классу """ асинхронно с my_async_session.begin() в качестве сеанса: пытаться: родитель = ожидайте session.execute(select(parent_class).where(parent_class.column==column)) print(f'\n\n\n\n{родитель}\n\n\n\n') родитель.дети.добавление(ребенок) кроме SQLAlchemyError как exc: печать (искл.) поднимать окончательно: дождитесь сеанса.закрыть() database_models.py:
класс UserBase(Base): """ Учетная запись для хранения и доступа к нескольким учебным карточкам """ __tablename__ = 'пользователи' id = Столбец (Целое число, Primary_key = True, автоинкремент = True) telegram_id = Столбец (Строка, уникальный = Истина) имя пользователя = Столбец (Строка (100), уникальный = Истина) имя = Столбец (Строка (200)) фамилия = Столбец (Строка (200)) my_cards: Mapped[list['CardBase']] = отношения() класс CardBase(База): """ Обучающая карточка с текстом на лицевой и оборотной сторонах, привязанная к конкретному пользователю """ __tablename__ = 'карты' id: Mapped[int] = mapped_column(Целое число, Primary_key=True, автоинкремент=True) user_id: Mapped[int] = mapped_column(ForeignKey('users.id', ondelete='CASCADE'), обнуляемый = Ложь) имя = сопоставленный_столбец (текст) фронт = сопоставленный_столбец (текст) назад = сопоставленный_столбец (текст) asyncpg==0.28.0 SQLАлхимия==2.0.19 Питон 3.10.12
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»