On Friday, June 17, 2016 at 12:14:05 PM UTC-5, Mike Bayer wrote:
>
>
>
> On 06/17/2016 12:44 PM, Chuck Bearden wrote: 
> > I'm using SQLAlchemy 1.0.13 with Python 2.7.10. 
> > 
> > I load much of my data naively from text files, which means that for 
> > newly-created Declarative objects, all the values are strings, whatever 
> > the declared column type: 
> > 
> > | 
> > fromsqlalchemy.ext.declarative importdeclarative_base 
> > fromsqlalchemy importColumn,Integer,String 
> > 
> > Base=declarative_base() 
> > 
> > classOrganization(Base): 
> >     __tablename__ ='organizations' 
> >     id =Column(Integer,primary_key=True) 
> >     org_type_id =Column(Integer,nullable=False) 
> >     org_name =Column(String(255),nullable=False) 
> > 
> > org =Organization(**{ 
> >   'org_type_id':'3', 
> >   'org_name':'Type 3', 
> > }) 
> > 
> > | 
> > 
> > 
> > If the Organization object is added to the database, the org_type_id 
> > value is converted to an 'int'. However, if I need to compare an object 
> > already in the database with the newly instantiated one, the comparison 
> > always fails because the int 3 from the database isn't the same as the 
> > string '3' in the new object. 
> > 
> > Is there a way to force the newly-created Organization to cast the 
> > string '3' to an Integer/int without having to push it to the database? 
> > I'd much prefer doing things this way to writing conversion functions 
> > for loading that attempt to anticipate all the permutations incoming 
> > data (e.g. date/times, numerics) might take. In other words, I'd like to 
> > use the existing machinery, but have the converted values show up before 
> > adding the object to the database. 
>
> seems appropriate for a basic validator: 
>
>
> http://docs.sqlalchemy.org/en/rel_1_0/orm/mapped_attributes.html?highlight=validates#simple-validators
>  
>
>
> Indeed, perfect! Thank you for the pointer.

All the best,
Chuck
 

>
>
> > 
> > Thanks in advance. 
> > Chuck 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> > an email to [email protected] <javascript:> 
> > <mailto:[email protected] <javascript:>>. 
> > To post to this group, send email to [email protected] 
> <javascript:> 
> > <mailto:[email protected] <javascript:>>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to