From: Randall S. <ra...@tn...> - 2005-09-20 19:57:13
|
After working with classes in individual files, it seems to me that SQLObject should check before referencing an outside class and possibly offer a callback option so that user has the opportunity to import the missing class. Then, if the class is still not found, an exception should be raised and it should be called something like 'ClassNotFound'. This applies to Joins and Foreign Keys at least. What do you think? class MySQLObject(SQLObject): def getOtherClass(self, classname): ""User figures out how to find the missing class."" modname = classname mod = __import__(modname) klass = getattr(mod, classname) return klass # File A.py class A(MySQLObject): col1 = StringCol() # File B.py class B(MySQLObject): col2 = StringCol() a = ForeignKey('A') Before an SQLObject class or subclass tries to reference another class, it checks to see if it is already loaded. It not it calls self.getOtherClass(classname). Otherwise, it raises a ClassNotFound exception. Randall |