I have a couple classes with ForeignKey references and am having difficulty getting SQLObject to connect the tables.  I can create instances of these classes, but when I print out instances of the class, I see that item displayed with a u'stringHere', even though I *have* created the corresponding instance in the other table.  When I try to access that class attribute directly I get the following error:
Traceback (most recent call last):
  File "C:\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\etc\bar.py", line 60, in ?
    print str(i.lexeme)
  File "<string>", line 1, in <lambda>
  File "<string>", line 1, in <lambda>
  File "c:\python24\lib\site-packages\SQLObject-0.7.0-py2.4.egg\sqlobject\main.py", line 1159, in _SO_foreignKey
    return joinClass.get(id, connection=self._connection)
  File "c:\python24\lib\site-packages\SQLObject-0.7.0-py2.4.egg\sqlobject\inheritance\__init__.py", line 161, in get
    val = super(InheritableSQLObject, cls).get(id, connection, selectResults)
  File "c:\python24\lib\site-packages\SQLObject-0.7.0-py2.4.egg\sqlobject\main.py", line 894, in get
    id = cls.sqlmeta.idType(id)
ValueError: invalid literal for int(): (eat)

Obviously, for some reason the SQLObject is not connecting the keys for the tables together.  What can I do to solve this problem?

Here are the class definitions, if they help at all:
<Spanish 2 name='como' partOfSpeech='V' lexemeID=u'(eat)' otherAttributes=[]>
**the lexemeID is not a number...?

class foo(InheritableSQLObject):
    name = StringCol()
    partOfSpeech = StringCol()
    concept = ForeignKey('Concept')
    modifiers = PickleCol(default=[])
    grammarExceptions = PickleCol(default=[])
    otherAttributes = PickleCol(default=[])

class SpanishLexeme(Lexeme):
    """The class that represents all words in the Spanish Lexeme."""

class Lexicon(InheritableSQLObject):
    name = StringCol()
    partOfSpeech = StringCol()
    lexeme = ForeignKey('Lexeme')
    otherAttributes = PickleCol(default=[])

class Spanish(Lexicon):
    lexeme = ForeignKey('SpanishLexeme')

...I omitted the concept class, but am having the same problem.  However, the Concept class is able to recognize references to itself.

Your help is very much appreciated,

Check out AOL.com today. Breaking news, video search, pictures, email and IM. All on demand. Always Free.