async def del_user(user_id: int): async with async_session() as session: try: await session.execute(delete(User).where(User.id==user_id).returning(User.id)) await session.commit() except IntegrityError as e: await session.rollback() Python async def del_user(user_id: int): async with async_session() as session: try: await session.execute(delete(User).where(User.id==user_id).returning(User.id)) await session.commit() except IntegrityError as e: await session.rollback() пишет что все хорошо и удалилось, но в бд записи отсались. бд: class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True, index=True) user_id = Column(BigInteger, unique=True) business_connection = Column(String) Python class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True, index=True) user_id = Column(BigInteger, unique=True) business_connection = Column(String)
Hollywood, ты сравниваешь user.id == user_id , но скорее всего тебе надо user.user_id == user_id async def del_user(user_id: int): async with async_session() as session: try: await session.execute( delete(User).where(User.user_id == user_id) ) await session.commit() except IntegrityError as e: await session.rollback() Python async def del_user(user_id: int): async with async_session() as session: try: await session.execute( delete(User).where(User.user_id == user_id) ) await session.commit() except IntegrityError as e: await session.rollback()
async def del_user(user_id: int): async with async_session() as session: try: result = await session.execute( delete(User).where(User.user_id == user_id) ) await session.commit() # Проверяем, была ли удалена хотя бы одна строка if result.rowcount > 0: return True return False except Exception as e: # лучше ловить все исключения для диагностики await session.rollback() print(f"Error deleting user: {e}") return False Код async def del_user(user_id: int): async with async_session() as session: try: result = await session.execute( delete(User).where(User.user_id == user_id) ) await session.commit() # Проверяем, была ли удалена хотя бы одна строка if result.rowcount > 0: return True return False except Exception as e: # лучше ловить все исключения для диагностики await session.rollback() print(f"Error deleting user: {e}") return False