I have several objects related using RelatedJoins in a Sqlite database:
class Event(SQLObject):
name = StringCol(alternateID=True,unique=True,notNone=True)
description = StringCol(notNone=True)
date = DateTimeCol(default=None)
traveltime = IntCol(default=15)
hosts = RelatedJoin('Household')
guests = RelatedJoin('EventGuestGroup')
courses = RelatedJoin('Course')
class Host(SQLObject):
household = ForeignKey('Household',notNone=True)
people = RelatedJoin('Person')
class Course(SQLObject):
name = StringCol(notNone=True)
length = IntCol(notNone=True,default=45)
assignments = RelatedJoin('CourseAssignments')
class EventGuestGroup(SQLObject):
people = RelatedJoin('Person')
event = ForeignKey('Event',default=None)
The related join for Event.hosts and Event.guests works fine, but
Event.courses does not. Here is some sample code that demonstrates the
error:
>>> event=Event(name='November16',
description='Progressive Dinner on November 16th',
date=datetime.datetime(2007,12,15,17,00))
>>> app=Course(name='Appetizer',length=45)
>>> main=Course(name='Main Course',length=60)
>>> dessert=Course(name='Dessert',length=45)
>>> event.addCourse(app)
Traceback (most recent call last):
File "/home/travis/workspace/progdinner/trunk/src/pd.py", line 15, in
<module>
event.addCourse(app)
File "<string>", line 1, in <lambda>
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/joins.py",
line 232, in add
getID(other))
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/dbconnection.py",
line 716, in _SO_intermediateInsert
self.sqlrepr(secondValue)))
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/dbconnection.py",
line 342, in query
return self._runWithConnection(self._query, s)
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/dbconnection.py",
line 255, in _runWithConnection
val = meth(conn, *args)
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/dbconnection.py",
line 339, in _query
self._executeRetry(conn, conn.cursor(), s)
File
"/usr/lib/python2.5/site-packages/SQLObject-0.9.2-py2.5.egg/sqlobject/sqlite/sqliteconnection.py",
line 183, in _executeRetry
raise OperationalError(ErrorMessage(e))
sqlobject.dberrors.OperationalError: no such table: course_event
I can call Event.addHousehold() without any problem. Here are the
tables that are being created (I have a few other objects and relations
as well):
course event_guest_group_person
course_assignments event_household
course_course_assignments host
event host_person
event_event_guest_group household
event_guest_group person
Note the lack of 'course_event', but it seems like it should be
'event_course' anyway, shouldn't it?
Any ideas what I'm doing wrong?
Thanks.
tj
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss