you have the three columns in request_table marked as foriegn keys.   
therefore, when a row from stock_request is removed, there is no  
choice but to set to NULL the three columns youve named in  
request_table.  so if thats what you mean by "delete", thats whats  
happening.   if you remove a stock item, nothing will happen assuming  
the mapping below is all there is.  It cant be actually issuing a  
DELETE since you dont have delete cascade turned on.


On Mar 25, 2007, at 6:21 AM, Koen Bok wrote:

>
> I have a mapper like this:
>
> mapper(Request, request_table, properties={
>               [SOME MORE STUFF]
>               'stock': relation(Stock, lazy=True, uselist=False, 
> primaryjoin=and_(
>                       request_table.c.id_item==stock_request.c.id_product,
>                       
> request_table.c.id_location==stock_request.c.id_location,
>                       
> request_table.c.id_stocktype==stock_request.c.id_stocktype),
>               foreign_keys=[request_table.c.id_item, 
> request_table.c.id_location,
> request_table.c.id_stocktype])})
>
> Whenever I remove a request object that has a stock object associated,
> it deletes the stock object too. When I change the foreign_keys to
> stock_request.c.id_product, stock_request.c.id_location,
> stock_request.c.id_stocktype it tries to update the related object
> with NULL values.
>
> But I want it to not do anyithing at all! I played with the cascade
> rules, but they all either delete or update.
>
> Thanks!
>
> Koen
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to