¿Hay posibilidades de configuración con respecto al delete()
-metodo de Sessions
de SQLAlchemy? Me gustaría que los objetos correspondientes estén marcados con una bandera eliminada en la base de datos y no se eliminen de ella. ¿Hay una manera de lograr esto? El objetivo es construir una base de datos sin actualizaciones destructivas sin perder las ventajas de las funciones en cascada de SQLAlchemy.Cambiar el comportamiento Session.delete() de SQLAlchemy
5
A
Respuesta
4
crear su propia clase que hereda de la sesión Session
y reemplazar el método delete()
con su propia lógica (para aquellas clases que requieren logical delete
), cayendo de nuevo a la Implementación predeterminada para los demás objetos. Si usa sessionmaker o una fábrica similar, también puede proporcionar su clase en el parámetro class_
.
Afortunadamente, esto responde a su pregunta. Pero, habiendo dicho/escrito eso, hay SOOO MUCHO MÁS a la eliminación lógica especialmente en el término de Referential Integrity
, que uno puede escribir una serie de artículos sobre eso.
Cuestiones relacionadas
- 1. Cambiar el fondo de ListView: comportamiento extraño
- 2. ¿Cómo cambiar el comportamiento de los talones?
- 3. ¿Cómo cambiar el comportamiento del componente TDBNavigator?
- 4. Odd ComboBox comportamiento al cambiar el tamaño
- 5. mejor manera de cambiar el comportamiento basado en el tipo
- 6. Cambiar el comportamiento personalizado de togglebutton en WPF
- 7. Safari móvil Reflow sin cambiar el tamaño - comportamiento de error
- 8. Cambiar el comportamiento de Ctrl + clic en una JTable
- 9. cómo hacer que sqlite seleccione para actualizar el comportamiento de transacción en sqlalchemy
- 10. cómo puede un ejecutivo cambiar el comportamiento del programa ejecutado
- 11. Cómo cambiar el comportamiento form_row en Symfony 2/Ramita
- 12. ¿Debo utilizar SQLObject, SQLAlchemy o SQLAlchemy + Elixir?
- 13. SQLAlchemy - Diccionario de etiquetas
- 14. Cómo cambiar el comportamiento predeterminado de ordenación nula de PostgreSQL en el ORM de Django
- 15. ¿Cómo cambiar la acción referencial de la clave externa? (Comportamiento)
- 16. Cómo cambiar el comportamiento de Spring MVC en el manejo del carácter url 'dot'
- 17. Comportamiento de desplazamiento de Emacs después de cambiar el tamaño de fuente
- 18. ¿Hay alguna manera de cambiar el comportamiento de HttpWebRequest en los códigos de estado 400/500?
- 19. SQLAlchemy: cómo filtrar el campo de fecha?
- 20. sqlalchemy combinación izquierda con el recuento de
- 21. Manejar el reinicio de mysql en SQLAlchemy
- 22. ¿Cómo mejorar el rendimiento de SQLAlchemy?
- 23. SQLAlchemy - seleccionar para el ejemplo de actualización
- 24. el comportamiento de "Identificación const"
- 25. prevenir el comportamiento de anclaje
- 26. StringLength atribuir el comportamiento
- 27. ¿Existe alguna manera fácil de cambiar el comportamiento de un control Java/Swing cuando se enfoca?
- 28. EasyMock - cambiar el comportamiento de equals() y otros métodos de objetos,
- 29. ¿Cuál es la forma correcta de cambiar el comportamiento de una etiqueta <a>?
- 30. ¿Puedo cambiar el comportamiento de BeautifulSoup con respecto a la conversión de etiquetas XML a minúsculas?
¿Tiene algún vínculo a los artículos sobre la implementación del delte lógico con sqlalchemy? ¿Podría incluir algunos en su respuesta? –
No, aún no he implementado eliminaciones lógicas con sqlalchemy. – van