On Feb 3, 2011, at 11:58 AM, neurino wrote:
> That is great!
>
> Just for eventual followers I fix imports:
>
> from sqlalchemy.orm import object_mapper
> from sqlalchemy.orm.attributes import instance_state
>
> m = object_mapper(item_to_be_deleted)
> for rec in m.cascade_iterator("delete",
> instance_state(item_to_be_deleted)):
> obj = rec[0]
> print "item will be deleted !", obj
>
> Anyway there's some way to stop recursiveness after a given level (or
> just 1)?
>
> That's because for me deleting one ctrl_unit means deleting hundreds
> of `Acquisition`s with thousands of `Data` each that means a **lot**
> of queries and I could assume the user is smart enough to know that if
> he deletes an Acquisition he deletes its data too...
>
> I'm looking at cascade_iterator def source, I could hack that end
> enclose directly in my code, the halt_on parameter is unused, as far
> as I understand.
>
> Thanks for your support
halt_on works, you use that, its a callable.
> neurino
>
>
>
>
> On Feb 3, 5:19 pm, Michael Bayer <[email protected]> wrote:
>> you could use the mapper's "cascade" function
>>
>> from sqlalchemy.orm import object_mapper, instance_state
>> m = object_mapper(item_to_be_deleted)
>> for rec in m.cascade_iterator("delete", instance_state(item_to_be_deleted)):
>> obj = rec[0]
>> print "item will be deleted !", obj
>>
>> On Feb 3, 2011, at 6:15 AM, neurino wrote:
>>
>>
>>
>>
>>
>>
>>
>>> Can I show the user a warning like:
>>
>>> "if you delete this item also [list of other items] will be
>>> removed"
>>
>>> whichever is the item?
>>
>>> I was using something like this:
>>
>>> import inspect
>>> def get_items(item_to_be_deleted):
>>> """get_items(item_to_be_deleted) -> [(child_item_name,
>>> number_of_child_items)]"""
>>> return [(name, len(inst)) for (name, inst) in
>>> inspect.getmembers(item_to_be_deleted)
>>> if isinstance(inst, orm.collections.InstrumentedList)]
>>
>>> and it worked until all relationships had cascade delete but now I
>>> have one without it and it shows in the list too while it shouldn't...
>>
>>> Any tips?
>>
>>> Thank you for your support
>>> neurino
>>
>>> --
>>> 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
>>> athttp://groups.google.com/group/sqlalchemy?hl=en.
>
> --
> 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.
>
--
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.