Glauco wrote:
> jo ha scritto:
>
>> Michael Bayer ha scritto:
>>
>>
>>> that is your own application changing the primary key of a loaded
>>> instance, which is a feature very old versions of SQLAlchemy did not
>>> support. Upgrade to any recent version of 0.4 or 0.5 and you wont
>>> have that issue anymore.
>>>
>>>
>>>
>> I think I don't want to change this behavior , Michael,
>> Simply I would like to realize that changes was done at current loaded
>> instance
>> to avoid flush it.
>>
>>
>>
> <cut>
>
> Yes you have it,
> cls._state['original'].data
>
> but probably you must work over object stored in session
>
>
> Gla
>
cls._state['original'].data returns the instance data.
What I need instead is how to retrieve
the value of 'existing identity' and 'new identity' to compare them before
sa raises the exception FlushError.
Something like:
if obj._instance_key <> instance_key: do_not_flush
to avoid the following error:
raise exceptions.FlushError("Can't change the identity of instance %s in
session (existing identity: %s; new identity: %s)" %
(mapperutil.instance_str(obj), obj._instance_key, instance_key))
FlushError: Can't change the identity of instance spe...@0xa6e046c in
session (existing identity: (<class
'sicer.BASE.model.tabelleCodifica.specie.Specie'>, (u'0141',), None);
new identity: (<class 'sicer.BASE.model.tabelleCodifica.specie.Specie'>,
(u'08',), None))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---