[Python] Failed to delete record(s): Could not locate a bind configured on mapper...

Discussão em 'Python' iniciado por Stack, Maio 14, 2025.

  1. Stack

    Stack Membro Participativo

    Failed to delete record(s): Could not locate a bind configured on mapper MapperPasswords(passwords)], SQL expression or this Session.

    [​IMG]

    I keep getting this error when trying to create a delete_record() method.

    from sqlalchemy import delete


    from sqlalchemy.orm import Session from models import Passwords import customtkinter as ctk from tkinter import messagebox

    def delete_record(self):
    selected_items = self.password_table.selection()
    if not selected_items:
    messagebox.showwarning("No selection", "Please select a record to delete.")
    return

    session = Session()
    try:
    delete_count = 0
    for item in selected_items:
    website, username = self.password_table.item(item, "values")[:2]
    # Remove from the UI immediately
    self.password_table.delete(item)
    # Core-style DELETE using delete_statement
    delete_statement = delete(Passwords).where(Passwords.website == website, Passwords.username == username)
    session.execute(delete_statement)
    delete_count += 1

    session.commit()
    messagebox.showinfo("Deleted",f"Successfully deleted {delete_count} record{'s' if delete_count != 1 else ''}.")

    except Exception as e:
    session.rollback()
    messagebox.showerror("Error", f"Failed to delete record(s): {e}")
    finally:
    session.close()

    Continue reading...

Compartilhe esta Página