Hi folks,
I'm stuck ATM wrt sqlobject and MultipleJoin. My classes:
class CaCert(CertItem):
SignedCaCerts = MultipleJoin('SubCaCert')
...
class SubCaCert(CertItem):
Ca = ForeignKey('CaCert')
...
class EmailSubCa(SubCaCert):
SignedCerts = MultipleJoin('EmailCert')
_table = "sub_ca_cert"
...
----test test test-----
rootca = CaCert.new(**rootca_params)
...
emailca_params['CA'] = rootca
emailca = EmailSubCa.new(**emailca_params)
...
print rootca.Serial --> fine ;)
print emailca.Serial --> fine ;)
print emailca.Ca --> fine ;) (shows the CaCert instance)
however, the backreference doesn't work:
print rootca.SignedCaCerts
Traceback (most recent call last):
File "certs.py", line 408, in ?
print rootca.SignedCaCerts
File "<string>", line 1, in <lambda>
File "/usr/lib/python2.2/site-packages/SQLObject/Join.py", line 104,
in performJoin
inst.id)
File "/usr/lib/python2.2/site-packages/SQLObject/DBConnection.py",
line 309, in _SO_selectJoin
return self.queryAll("SELECT %s FROM %s WHERE %s = %s" %
File "/usr/lib/python2.2/site-packages/SQLObject/DBConnection.py",
line 139, in queryAll
return self._runWithConnection(self._queryAll, s)
File "/usr/lib/python2.2/site-packages/SQLObject/DBConnection.py",
line 74, in _runWithConnection
val = meth(conn, *args)
File "/usr/lib/python2.2/site-packages/SQLObject/DBConnection.py",
line 132, in _queryAll
c.execute(s)
File "/usr/lib/python2.2/site-packages/sqlite/main.py", line 243, in
execute
self.rs = self.con.db.execute(SQL)
_sqlite.DatabaseError: no such column: ca_cert_id
I'd expect that SignedCaCerts = MultipleJoin('SubCaCert') will create a
"sub_ca_cert_id" column which in turn will be asked for and not
"ca_cert_id". Any ideas?
Thanks
Paul
|