2012-01-18 38 views
5

Có bất kỳ khả năng cấu hình nào liên quan đến delete() -method của SQLAlchemy's Sessions không? Tôi muốn có các đối tượng tương ứng được đánh dấu bằng cờ đã xóa trong cơ sở dữ liệu và không bị xóa khỏi nó. Có cách nào để đạt được điều này? Mục đích là xây dựng một cơ sở dữ liệu mà không cần cập nhật phá hoại mà không làm mất đi các ưu điểm của các tính năng xếp tầng của SQLAlchemy.Thay đổi hành vi Session.delete() của SQLAlchemy

Trả lời

4

Tạo lớp phiên của riêng bạn kế thừa từ Session và ghi đè phương thức delete() với logic của riêng bạn (đối với các lớp yêu cầu logical delete), giảm trở lại mức mặc định cho các đối tượng khác. Nếu bạn sử dụng sessionmaker hoặc nhà máy tương tự, bạn cũng có thể cung cấp lớp học của mình trong thông số class_.

Hy vọng rằng, điều này sẽ trả lời câu hỏi của bạn. Nhưng, nếu đã nói/viết rằng, có SOOO NHIỀU HƠN để xóa hợp lý đặc biệt là trong thời hạn Referential Integrity, người đó có thể viết một loạt bài viết về điều đó.

+0

Bạn có bất kỳ liên kết nào đến các bài viết về triển khai lôgic logic với sqlalchemy không? Bạn có thể đưa một số câu trả lời vào câu trả lời của bạn không? –

+0

Không, tôi chưa triển khai thực hiện xóa logic với sqlalchemy. – van

Các vấn đề liên quan