eh, sorry, RTFM, uselist without _underscore
On Monday 14 July 2008 16:42:05 Marcos wrote:
> > a reference - as it is in your case (padre means parent, right?)
>
> Yes, padre means parent
>
> > give relation( ... use_list=False).
>
> Mmmm... no:
> <code>
> Traceback (most recent call last):
>   File
> "/home/marcos/easyeclipse-python-1.2.2.2/workspace/mine/jContab/
> src/jContab/test.py", line 20, in ?
>     mapper(Cuenta, cuentas_tabla,
> properties={'padre':relation(Cuenta,use_list=False)})
>   File
> "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.2-py2.4.egg/
> sqlalchemy/orm/__init__.py", line 269, in relation
>     return PropertyLoader(argument, secondary=secondary, **kwargs)
> TypeError: __init__() got an unexpected keyword argument 'use_list'
> </code>
> I did it right? or I made a mistake?
> Thanks for your reply,
> Marcos
>
> On 14 jul, 10:11, [EMAIL PROTECTED] wrote:
> > AFAIRemember, by default, relation assumes it is a collection,
> > and not a reference - as it is in your case (padre means parent,
> > right?) give relation( ... use_list=False).
> >
> > On Monday 14 July 2008 15:21:48 Marcos wrote:
> > > Hello!
> > > First, sorry about my english!
> > >
> > > I'm having this little problem, and i can't see where is my
> > > error. I have the follow code:
> > >
> > > <code>
> > > from sqlalchemy import *
> > > from sqlalchemy.orm import *
> > >
> > > class Cuenta(object):
> > >     def __init__(self, codigo, de_titulo, descripcion, padre):
> > >         self.codigo = codigo
> > >         self.de_titulo = de_titulo
> > >         self.descripcion = descripcion
> > >         self.padre = padre
> > >
> > > _metadata = MetaData()
> > >
> > > cuentas_tabla = Table('cuentas', _metadata,
> > >                       Column('id', Integer, primary_key=True),
> > >                       Column('codigo', String(30), unique=True,
> > > nullable=False),
> > >                       Column('de_titulo', Boolean,
> > > nullable=False), Column('descripcion', String(150),
> > > unique=True, nullable=False),
> > >                       Column('cuenta_padre', Integer,
> > > ForeignKey('cuentas.id'), nullable=True)
> > >                       )
> > > mapper(Cuenta, cuentas_tabla,
> > > properties={'padre':relation(Cuenta, backref='hijas')})
> > >
> > > engine = create_engine('sqlite:///database.txt')
> > > Session = sessionmaker(bind=engine, autoflush=True,
> > > transactional=False)
> > > _metadata.create_all(bind=engine)
> > > session = Session()
> > > session.begin()
> > > activo = Cuenta(codigo='1',
> > >                 de_titulo=True,
> > >                 descripcion='Activo',
> > >                 padre=None)
> > > fachadaPersistencia.save(activo)
> > > caja = Cuenta(codigo='1.1',
> > >               de_titulo = False,
> > >               descripcion='Caja',
> > >               padre=activo)
> > > fachadaPersistencia.save(caja)
> > > banco = Cuenta(codigo='1.2',
> > >               de_titulo = False,
> > >               descripcion='Banco',
> > >               padre=activo)
> > > fachadaPersistencia.save(banco)
> > > pasivo = Cuenta(codigo='2',
> > >                 de_titulo=True,
> > >                 descripcion='Pasivo',
> > >                 padre=None)
> > > session.save(pasivo)
> > > session.commit()
> > > </code>
> > >
> > > And i have the next exception:
> > > <code>
> > > Traceback (most recent call last):
> > >   File
> > > "/home/marcos/easyeclipse-python-1.2.2.2/workspace/mine/jContab
> > >/ src/jContab/test.py", line 30, in ?
> > >     padre=None)
> > >   File
> > > "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.2-py2.4.egg/
> > > sqlalchemy/orm/attributes.py", line 1126, in init
> > >     oldinit(instance, *args, **kwargs)
> > >   File
> > > "/home/marcos/easyeclipse-python-1.2.2.2/workspace/mine/jContab
> > >/ src/jContab/test.py", line 9, in __init__
> > >     self.padre = padre
> > >   File
> > > "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.2-py2.4.egg/
> > > sqlalchemy/orm/attributes.py", line 36, in __set__
> > >     self.impl.set(instance._state, value, None)
> > >   File
> > > "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.2-py2.4.egg/
> > > sqlalchemy/orm/attributes.py", line 532, in set
> > >     new_values =
> > > list(new_collection.adapt_like_to_iterable(value)) File
> > > "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.2-py2.4.egg/
> > > sqlalchemy/orm/collections.py", line 509, in
> > > adapt_like_to_iterable raise TypeError(
> > > TypeError: Incompatible collection type: NoneType is not
> > > list-like </code>
> > >
> > > If I quit the backref, i'm still having that error. If anybody
> > > can help me, i will appreciate that.
> > >
> > > Thanks,
> > >
> > > Marcos Alcazar
> > > Mendoza, Argentina
>
> 


--~--~---------~--~----~------------~-------~--~----~
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