Problema con relaciones en sqlobject

Luis Miguel Morillas morillas en gmail.com
Vie Mayo 12 02:08:25 CEST 2006


Alquien ve algo mal en este ejemplo?

from sqlobject import *
connection_string="sqlite:/:memory:"
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection

class Clasea(SQLObject):
    valor = StringCol()
    relaciones = ForeignKey('Claseb')

class Claseb(SQLObject):
    valor = StringCol()
    relacion = MultipleJoin('Clasea')

Clasea.createTable()
Claseb.createTable()

b1 = Claseb(valor='hola')
a1 = Clasea(valor='adios', relaciones= b1)

>>> a1.relaciones
<Claseb 1 valor='hola'>
>>> b1.relacion
 1/QueryAll:  SELECT id FROM clasea WHERE claseb_id = 1
 1/QueryR  :  SELECT id FROM clasea WHERE claseb_id = 1
 1/COMMIT  :  auto
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "<string>", line 1, in <lambda>
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/joins.py",
line 131, in performJoin
    inst.id)
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/dbconnection.py",
line 598, in _SO_selectJoin
    return self.queryAll("SELECT %s FROM %s WHERE %s = %s" %
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/dbconnection.py",
line 316, in queryAll
    return self._runWithConnection(self._queryAll, s)
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/dbconnection.py",
line 217, in _runWithConnection
    val = meth(conn, *args)
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/dbconnection.py",
line 309, in _queryAll
    self._executeRetry(conn, c, s)
  File "/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1457-py2.4.egg/sqlobject/dbconnection.py",
line 295, in _executeRetry
    return cursor.execute(query)
pysqlite2.dbapi2.OperationalError: no such column: claseb_id


¿Por qué busca el atributo claseb_id?



Saludos,

--

Luis Miguel




Más información sobre la lista de distribución Python-es