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