Esistono possibilità di configurazione per il metodo delete()
di SQLAlchemy Sessions
? Mi piacerebbe avere gli oggetti corrispondenti contrassegnati con un flag eliminato nel database e non rimossi da esso. C'è un modo per ottenere questo? L'obiettivo è creare un database senza aggiornamenti distruttivi senza perdere i vantaggi delle funzionalità a cascata di SQLAlchemy.Modifica comportamento Session.delete() di SQLAlchemy
5
A
risposta
4
creare una classe che eredita da sessione Session
e l'override del metodo delete()
con la propria logica (per le classi che richiedono logical delete
), ricadendo al Implementazione di default per gli altri oggetti. Se si utilizza sessionmaker o un factory simile, è possibile fornire la classe anche nel parametro class_
.
Speriamo che questo risponda alla tua domanda. Ma, dopo aver detto/scritto che c'è SOOO MOLTO ALTRO alla cancellazione logica soprattutto in termini di Referential Integrity
, che si può scrivere una serie di articoli su quello.
Problemi correlati
- 1. SQLAlchemy: modifica dell'oggetto distaccato
- 2. SQLAlchemy: Cancellare oggetto direttamente da uno-a-molti senza utilizzare Session.delete()
- 3. modifica comportamento predefinito operatore
- 4. Come si modifica il database di SQLAlchemy?
- 5. Modifica comportamento Emacs Forward-Word
- 6. Modifica comportamento desktop virtuale Win10
- 7. modifica comportamento overflow CSS overflow
- 8. Comando di modifica MFC comportamento strano
- 9. Nome variabile della modifica Java modifica il comportamento del programma
- 10. Modifica delle convenzioni di denominazione dei vincoli in Flask-SQLAlchemy
- 11. Android continua a premere Modifica comportamento testo
- 12. Modifica comportamento SimpleDateFormat in Android Marshmallow
- 13. Vim: modifica comportamento clic del mouse
- 14. Modifica del comportamento del ritorno a capo
- 15. Modifica del comportamento di un modello di Django con __getattr__
- 16. Perché è necessario chiamare session.flush() dopo session.delete() in Hibernate?
- 17. Il distruttore virtuale modifica il comportamento di decltype
- 18. Modifica comportamento di virgolette quando >> a stringstream
- 19. DateTime.ToLocalTime() modifica di comportamento con .NET 4.5 su Server 2008R2?
- 20. SQLAlchemy - Dizionario di tag
- 21. in SQLAlchemy
- 22. alternativa a drop = FALSE o modifica comportamento predefinito
- 23. aggiungendo runat = "server" modifica il comportamento del layout
- 24. Comportamento di eliminazione con relazione
- 25. Nessun tipo numerico da aggregare: modifica del comportamento groupby()?
- 26. Passare argomenti con la modifica dei valori in Attività - Comportamento?
- 27. SQLAlchemy Esempi di progetti
- 28. Errori di connessione SQLAlchemy
- 29. SQLAlchemy decimale di precisione
- 30. Devo utilizzare SQLObject, SQLAlchemy o SQLAlchemy + Elixir?
Avete collegamenti ad articoli sull'implementazione del delte logico con sqlalchemy? Potresti includere alcuni nella tua risposta? –
No, non ho ancora implementato cancellazioni logiche con sqlalchemy. – van