Hello All, Just started using SQLObject yesterday, so if I made a rookie mistake please tell me. It appears SQLObject doesn't allow me to have the same column name as my table name. Here is the MySQL table definition: CREATE TABLE `sysname` ( `sysname_id` int(11) NOT NULL auto_increment, `sysname` varchar(64) NOT NULL, PRIMARY KEY (`sysname_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
And the corresponding SQLObject code: class Sysname(SQLObject): class sqlmeta: fromDatabase = True idName = "sysname_id" def getSysnameID(cls): sysname = platform.system() for s in cls.selectBy(sysname=sysname): return s.id return cls(sysname=sysname).id getSysnameID = classmethod(getSysnameID) print Sysname.getSysnameID() I get the following traceback from SQLObject: Traceback (most recent call last): File "knightly/machine.py", line 22, in ? print Sysname.getSysnameID() File "knightly/machine.py", line 16, in getSysnameID for s in cls.selectBy(sysname=sysname): File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/sresults.py", line 185, in __iter__ return iter(list(self.lazyIter())) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/sresults.py", line 193, in lazyIter return conn.iterSelect(self) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/dbconnection.py", line 400, in iterSelect select, keepConnection=False) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/dbconnection.py", line 636, in __init__ self.query = self.dbconn.queryForSelect(select) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/dbconnection.py", line 414, in queryForSelect return self.sqlrepr(select.queryForSelect()) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/sresults.py", line 45, in queryForSelect columns = [self.sourceClass.q.id] + [getattr(self.sourceClass.q, x.name) for x in self.sourceClass.sqlmeta.columnList] File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/sqlbuilder.py", line 386, in __getattr__ return self._getattrFromForeignKey(column, attr) File "/Users/coleb/svn_knightly/trunk/backend/knightly/lib/sqlobject/sqlbuilder.py", line 403, in _getattrFromForeignKey ret = getattr(self, column.name)==getattr(self.soClass, '_SO_class_'+column.foreignKey).q.id TypeError: cannot concatenate 'str' and 'NoneType' objects If I change the column's name `sysname` to `name` and change the code accordingly everything works fine. Is this a feature or a bug? Thanks, Brian ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ sqlobject-discuss mailing list sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss