On Wed, 2006-04-12 at 23:33 +0400, Oleg Broytmann wrote:
> On Wed, Apr 12, 2006 at 12:09:46PM -0700, Erik Stephens wrote:
> >   class Report(SQLObject):
> >       class = ForeignKey('Class')
> > 
> > That's clashing with Python's 'class' keyword.  I tried setting this  
> > after the fact:
> > 
> >   setattr(Report, 'class', ForeignKey('Class'))
> >   setattr(Report.sqlmeta, 'class', ForeignKey('Class'))
> 
>    You cannot do that becuase columns are magically processed by a
> metaclass, and if you do setattr() after the class has been created
> metaclass wouldn't process your new attribute and wouldn't make it a proper
> column.
> 
> > It doesn't look like I can use addColumn() or any other method to add  
> > a ForeignKey.  Any thoughts on how to accomplish this?
> 
>    Try .addColumn(ForeignKey("Class", name="klass", dbName="class_id")). Or
> even
> 
> class Report(SQLObject):
>     klass = ForeignKey('Class', dbName="class_id")

Another way to work around the keyword is:
  class_ = ForeignKey('Class', dbName="class_id")

-- 
Matt Good <[EMAIL PROTECTED]>



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to