Tôi đang cố gắng sử dụng SQLAlchemy để triển khai mô hình nhóm người dùng cơ bản, nơi người dùng có thể có nhiều nhóm và nhóm có thể có nhiều người dùng.SQLAlchemy xoá nhiều trẻ mồ côi
Khi một nhóm trống, tôi muốn nhóm bị xóa, (cùng với những thứ khác liên quan đến nhóm. May mắn thay, thác của SQLAlchemy hoạt động tốt với những tình huống đơn giản hơn).
Vấn đề là thác tầng = 'tất cả, xóa-trẻ mồ côi' không thực hiện chính xác những gì tôi muốn; thay vì xóa nhóm khi nhóm trở nên trống, nhóm sẽ xóa nhóm khi mọi thành viên rời khỏi nhóm.
Thêm trình kích hoạt vào cơ sở dữ liệu hoạt động tốt khi xóa nhóm khi nó trống, ngoại trừ trình kích hoạt dường như bỏ qua xử lý thác của SQLAlchemy để mọi thứ liên quan đến nhóm không bị xóa.
Cách tốt nhất để xóa nhóm khi tất cả các thành viên của nhóm đó rời khỏi và xóa bỏ chuỗi này với các thực thể có liên quan.
Tôi hiểu rằng tôi có thể thực hiện việc này theo cách thủ công bằng cách tìm mọi địa điểm trong mã của tôi, nơi người dùng có thể rời khỏi nhóm và sau đó làm điều tương tự như trình kích hoạt, tôi e rằng tôi sẽ bỏ lỡ các địa điểm trong mã và tôi lười biếng).
Tôi nghĩ có thể hơi phức tạp khi trả lời câu hỏi này mà không cần thêm chi tiết về mã của bạn (bạn đã thiết lập mối quan hệ nhiều-nhiều như thế nào, bạn đã đặt những đứa trẻ mồ côi, v.v ...) là lược đồ, v.v. –
Tôi đã thử xóa trẻ mồ côi trên backref và quan hệ bình thường(). Mối quan hệ cơ bản là người lập bản đồ (Người dùng, người dùng, thuộc tính = {'nhóm': quan hệ = quan hệ (Nhóm, phụ = users_groups, backref = backref ('người dùng'))}) –