that's your flush() process flushing something pending in the  
session.  say session.flush() to see it happen.   the error means  
you've removed a child object from a parent, which would result in a  
primary key that is also a foreign key being nulled out.


On Feb 5, 2009, at 8:51 PM, Gloria W wrote:

>
> OK, a new problem on the same model:
>
> I try this in my unit test:
>
> memberProfile = self.session.query(MemberProfile).filter
> (MemberProfile.memberID.in_(memberid)).order_by
> (MemberProfile.memberID).filter(MemberProfile.city == 'Jamaica').all()
>
> and I get this error:
>
> Traceback (most recent call last):
>  File "MemberInfo.py", line 187, in ?
>    print jsonize(x.GET(memberid=81087,fields={'city':'brooklyn',
> 'phonehome': '3473653052'}).data)
>  File "MemberInfo.py", line 70, in GET
>    memberProfile = memberProfile.order_by(MemberProfile.memberID).all
> ()
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/query.py", line 998, in all
>    return list(self)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/query.py", line 1087, in __iter__
>    self.session._autoflush()
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/session.py", line 912, in _autoflush
>    self.flush()
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/session.py", line 1354, in flush
>    self._flush(objects)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/session.py", line 1424, in _flush
>    flush_context.execute()
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 260, in execute
>    UOWExecutor().execute(self, tasks)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 723, in execute
>    self.execute_save_steps(trans, task)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 740, in execute_save_steps
>    self.execute_dependencies(trans, task)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 749, in execute_dependencies
>    self.execute_dependency(trans, dep, False)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 735, in execute_dependency
>    dep.execute(trans, isdelete)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/unitofwork.py", line 702, in execute
>    delete=delete)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/dependency.py", line 332, in process_dependencies
>    self._synchronize(state, child, None, False, uowcommit)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/dependency.py", line 375, in _synchronize
>    sync.clear(state, self.parent, self.prop.synchronize_pairs)
>  File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.0rc4-py2.4.egg/
> sqlalchemy/orm/sync.py", line 28, in clear
>    raise AssertionError("Dependency rule tried to blank-out primary
> key column '%s' on instance '%s'" % (r, mapperutil.state_str(dest)))
> AssertionError: Dependency rule tried to blank-out primary key column
> 'member_profiles.memberID' on instance '<MemberProfile at
> 0x-488616d4>'
>
>
> which seems to happen on any filter() option I use. Things work fine
> without the filter() option.
>
> Thanks again!
> Gloria
> >


--~--~---------~--~----~------------~-------~--~----~
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 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to