From: | Adrian Klaver <aklaver(at)comcast(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Cc: | "Parthan SR" <python(dot)technofreak(at)gmail(dot)com> |
Subject: | Re: Column does not exist when trying to insert data. |
Date: | 2007-03-16 13:33:39 |
Message-ID: | 200703160633.39249.aklaver@comcast.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thursday 15 March 2007 9:52 pm, Parthan SR wrote:
> Hello,
>
> My table 'orderitems' looks like this
>
> create table orderitem (
> id serial not null primary key,
> item integer not null,
> quantity numeric(6,2) not null,
> unit varchar(10),
> conference integer not null,
> seller integer not null,
> incharge integer not null,
> orderdate date not null,
> duedate date not null,
> returnedas varchar,
> );
>
> I get all the values from a form, validate them and try to insert into
> my postgres database table.
> The integers in the above table are foreign key refernces (which I
> have done using constraints).
> The fields 'unit' and 'returnedas' are optional. I use python-psycopg
> to handle the DB part.
>
> When I execute the following statement..
>
> "INSERT INTO orderitem
> (item,quantity,unit,conference,seller,incharge,orderdate,duedate,returnedas
>) VALUES (%d,%f,%s,%d,%d,%d,%s,%s,%s)" %
> (params['item'],params['quantity'],params['unit'],
> params['conference'],params['seller'],params['incharge'],params['orderdate'
>],params['duedate'],params['returnedas'])
To make it make work here I had to use pyformat formatting. To illustrate-
VALUES(%(item)s,%(quantity)s,%(unit)s,%(conference)s,%(seller)s,%(incharge)s,
%(orderdate)s,%(duedate)s,% (returnedas)),
{'item':params['item'],'quantity':params['quantity'],'unit':params['unit'],'conference':
['conference'],'seller':params['seller'],'incharge':params['incharge'],
'orderdate':params[orderdate'],'duedate':params['duedate'],'returnedas':params['returnedas']}
> params['conference'],params['seller'],params['incharge'],params['orderdate'
>],params['duedate'],params['returnedas']
>
> I get the following error in the browser, whent he fields for unit and
> returnedas are left blank and hence becomes None.
> I also tried to have some string value such as 'nos' and 'not reqd' for
> 'unit' and 'requiredas' but still it get a similar error
> saying column 'nos' does not exist.
>
> *ProgrammingError*: ERROR: column "none" does not exist INSERT INTO
> orderitem
> (item,quantity,unit,conference,seller,incharge,orderdate,duedate,returnedas
>) VALUES (6,10.000000,None,39,1,1,2007-3-16,20-03-2007,None)
> args = ('ERROR: column "none" does not exist\n\nINSERT INT...,
> 10.000000,None,39,1,1,2007-3-16,20-03-2007,None)',)
>
> Where am I getting wrong ?
This is probably a psycopg issue. If the solution I suggested above does not
work you may want to take up the problem on the psycopg list.
--
Adrian Klaver
aklaver(at)comcast(dot)net
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua D. Drake | 2007-03-16 13:36:42 | Re: pg_dumpall and version confusion |
Previous Message | Christopher Browne | 2007-03-16 13:29:01 | Re: Lifecycle of PostgreSQL releases |