Oleg Broytmann wrote:
> On Mon, May 14, 2007 at 06:02:37PM +0400, Oleg Broytmann wrote:
>> On Mon, May 14, 2007 at 03:38:40PM +0200, Tom Arild Naess wrote:
>>> AttributeError: EndUser instance has no attribute 'eusUsrId'
>>    SingleJoin uses style.dbColumnToPythonAttr() to recreate python
>> attribute names from the db name. In should find the real column and use
>> whatever name it finds instead.
> 
>    What do you think about the following patch?
> 
> Index: sqlobject/joins.py
> ===================================================================
> --- sqlobject/joins.py  (revision 2682)
> +++ sqlobject/joins.py  (working copy)
> @@ -294,7 +294,10 @@
>              conn = inst._connection
>          else:
>              conn = None
> -        pythonColumn = 
> self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn)
> +        for column in self.otherClass.sqlmeta.columns.values():
> +            if column.dbName == self.joinColumn:
> +                pythonColumn = column.name
> +                break
>          results = self.otherClass.select(
>              getattr(self.otherClass.q, pythonColumn) == inst.id,
>              connection=conn

Seems ok to me. The SingleJoin now works as should be expected.


Tom


-------------------------------------------------------------------------
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

Reply via email to