Czy istnieje sposób zmusić obiekt odwzorowaną przez SQLAlchemy aby uznać dirty
? Na przykład, biorąc pod uwagę kontekst sqlalchemy'S Object Relational Tutorial problem jest wykazaćsiła obiekt będzie `dirty` w SQLAlchemy
a=session.query(User).first()
a.__dict__['name']='eh'
session.dirty
plonowanie,
IdentitySet([])
szukam sposób zmusić użytkownika a
w brudnym stanie.
Ten problem powstaje, ponieważ klasa odwzorowana za pomocą sqlalchemy przejmuje kontrolę nad metodami getter/setter atrybutu, a to zapobiega zapisywaniu zmian przez sqlalchemy.
Ta odpowiedź wydaje się być jednak ryzykowna, jeśli oznaczysz atrybut jako zmodyfikowany, ale nie będzie dla niego stanu w stanie_w stanie, spowoduje to KeyError. site-packages/sqlalchemy/orm/persistence.py ", wiersz 454, w _collect_update_commands wartość = state_dict [propkey] – Drachenfels
Dzięki! Czy jest możliwa zmiana identyfikatora klucza głównego przy użyciu atrybutu zestawu? –