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

Reply via email to