On Jul 29, 2010, at 11:08 PM, Russell Warren wrote:

> I've got a bunch of old sqlalchemy code using the declarative
> framework where the default field values could be assigned after the
> initial definition, as in this reduced example:
> 
> #######
> 
> from sqlalchemy import *
> from sqlalchemy.ext.declarative import declarative_base
> from sqlalchemy.orm import relation, sessionmaker
> 
> Base = declarative_base()
> 
> class Bogus(Base):
>    __tablename__ = 'bogus'
> 
>    pk = Column(Integer, primary_key=True)
>    c1 = Column(Integer)
>    c1.default = 2000    ## NOW A PROBLEM ##
> 
> engine = create_engine("sqlite://", echo = True)
> Base.metadata.create_all(engine)
> 
> #######
> 
> Now this code crashes on the create_all() call inside visitors.py's
> traverse_using() call, with:
> 
> AttributeError: 'int' object has no attribute '__visit_name__'


use default=ColumnDefault(2000).




> 
> If I move the default assignments into the column constructor with the
> "default=" kwarg (as is proper according to current docs), it works
> fine.
> 
> Is there a clean/functional/safe way to assign defaults _after_ the
> first assignment?  The old code collected together all the default
> assignments in one spot to cut down on the size of the (large) table
> definition code and improve readability of the code... it would be
> great to keep it that way.
> 
> I'm using sqla 0.6.3 now.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To post to this group, send email to sqlalch...@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to