C'è un modo per forzare un oggetto mappato da sqlalchemy per essere considerato dirty
? Ad esempio, dato il contesto di sqlalchemy di Object Relational Tutorial il problema è dimostrata,forza l'oggetto è `sporco` in sqlalchemy
a=session.query(User).first()
a.__dict__['name']='eh'
session.dirty
cedendo,
IdentitySet([])
Sto cercando un modo per forzare l'utente a
in uno stato sporco.
Questo problema si verifica perché la classe mappata utilizzando sqlalchemy assume il controllo dei metodi getter/setter dell'attributo e impedisce a sqlalchemy di registrare le modifiche.
Questa risposta sembra essere rischiosa tuttavia, se si contrassegna l'attributo come modificato ma non ci sarà uno stato per esso in state_dict causerà KeyError. site-packages/sqlalchemy/orm/persistence.py ", riga 454, in _collect_update_commands value = state_dict [propkey] – Drachenfels
Grazie! È possibile modificare anche l'id della chiave primaria utilizzando l'attributo set? –