Here's a tested example of DOUBLE_PRECISION using both float and Decimal 
versions.  Make sure you're on a recent release of psycopg2:

from sqlalchemy import Column, create_engine, Integer
from sqlalchemy.orm import Session
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.postgresql import DOUBLE_PRECISION
from decimal import Decimal

Base = declarative_base()

class dream4_eta_15km_pm10(Base):
   __tablename__='pm10_dream_rasters'

   id = Column(Integer, primary_key=True)

   # use float values
   max_pm10=Column(DOUBLE_PRECISION)

   # use Decimal values
   mean_pm10=Column(DOUBLE_PRECISION(asdecimal=True))

   def __repr__(self):
       return "dream4_eta_15km_pm10(%r, %r)" % (self.max_pm10, self.mean_pm10)

engine = create_engine('postgresql://scott:tiger@localhost/test', echo=True)

Base.metadata.create_all(engine)

sess = Session(engine)

sess.add(dream4_eta_15km_pm10(max_pm10=76945.283959, 
mean_pm10=Decimal("7683.27835")))

sess.commit()

print sess.query(dream4_eta_15km_pm10).all()



On Jan 18, 2011, at 3:24 PM, wilbur wrote:

> Hello,
> 
> I am having problems using sqlalchemy to write values to Postgresq
> columns of type Float. I am getting "sqlalchemy.exc.ProgrammingError:
> (ProgrammingError) can't adapt" errors when I try to insert records.
> 
> My Postgresql table is defined as:
> 
>     Column     |              Type
> |                            Modifiers
> ----------------+--------------------------------
> +------------------------------------------------------------------
> max_pm25       | double precision               |
> mean_pm25      | double precision               |
> 
> 
> After importing the Postgresql dialect:
> 
> from sqlalchemy.dialects.postgresql import *
> 
> I define my sqlalchemy table as:
> 
> class dream4_eta_15km_pm10(Base):
>    __tablename__='pm10_dream_rasters'
>    max_pm10=Column(DOUBLE_PRECISION)
>    mean_pm10=Column(DOUBLE_PRECISION)
> 
> Any help appreciated,
> 
> Bill
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to