On 8/21/2010 6:00 PM, Michael Bayer wrote:
On Aug 21, 2010, at 5:16 PM, Michael Hipp wrote:
How do I make this work with declarative?

If you were to use string literals with remote_side here, its the full expression would 
be a string, i.e. remote_side="Option.id_".   But that's not needed here since 
id_ as a Column is right there, so remote_side=id_ .

I made that one change:

class Option(Base):
    __tablename__ = 'options'

    id_ = Column(Integer, primary_key=True)
    parent_id = Column(Integer, ForeignKey('options.id_'))
    parent = relationship('Option', backref=backref('children', order_by=name,
                                                    remote_side=id_))

Now I get:
TypeError: Incompatible collection type: None is not list-like
File "C:\dropbox\dev\auction\play.py", line 286, in <module>
  opts2()
File "C:\dropbox\dev\auction\play.py", line 257, in opts2
  opt.start()
File "C:\dropbox\dev\auction\options\logic.py", line 40, in start
  rec = Option(name='__top__')
File "C:\dropbox\dev\auction\<string>", line 4, in __init__
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\state.py", line 104, in initialize_instance
  return manager.events.original_init(*mixed[1:], **kwargs)
File "C:\dropbox\dev\auction\options\models.py", line 47, in __init__
  self.parent = parent
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\attributes.py", line 154, in __set__
  instance_dict(instance), value, None)
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\attributes.py", line 755, in set
  lambda adapter, i: adapter.adapt_like_to_iterable(i))
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\attributes.py", line 771, in _set_iterable
  new_values = list(adapter(new_collection, iterable))
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\attributes.py", line 755, in <lambda>
  lambda adapter, i: adapter.adapt_like_to_iterable(i))
File "C:\dev\virtenvs\auction\Lib\site-packages\sqlalchemy\orm\collections.py", line 530, in adapt_like_to_iterable
  given, wanted))

Any help?

Thanks,
Michael

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