[sqlalchemy] Re: insert to the database

2007-11-09 Thread lur ibargutxi
I have fixed the problem


2007/11/9, lur ibargutxi [EMAIL PROTECTED]:

 Table definition:

 tables['indicators'] = Table('indicators', metadata, autoload=True)
 tables['indicatorgroups'] = Table('indicatorgroups', metadata,
 autoload=True)
 ##indicatorgroups table has two columns: idindicatorgroup, name
 ##indicators table has several columns: idindicator, idindicatorgroup(FK),
 ...

 Mapper:

 mappers['indicatorgroups'] = mapper(IndicatorGroups,
 tables['indicatorgroups'])
 mappers['indicators'] = mapper(Indicators, tables['indicators'],
 properties = {
 'idindicatorgroup' :
 relation(IndicatorGroups),

'idindicatorgroup2' :
relation(IndicatorGroups),
because idindicatorgroup is the column name of the mySQL table and i have to
put another name





  },allow_column_override=True)

 Once i do this I have create a method in order to insert data in my mySQL
 db:

 class Insert:
 implements(IInsert)

 def insert(self, file):
 import pdb
 db = getUtility(IDatabase, name=' db.query')
 session = db.session
 sniffer = csv.Sniffer()
 dialect = sniffer.sniff(file.read())
 file.seek(0)
 csvReader = csv.reader(file, dialect=dialect)
 csvReader.next()
 for i in csvReader:

 group, subgroup, indicator, code = i
 indg=IndicatorGroups()
 indg.name=group
 session.save(indg)
 ind=Indicators()
 ind.code=code
 ind.name=indicator
 ind.idindicatorgroup=indg
 session.save(ind)
 session.flush ()

 but when execute session.flush() I have this error:

 Traceback (innermost last):
   Module ZPublisher.Publish, line 115, in publish
   Module ZPublisher.mapply, line 88, in mapply
   Module ZPublisher.Publish , line 41, in call_object
   Module Products.odr.lugabe_db.browser.csv_insert, line 26, in __call__
   Module Products.odr.lugabe_db.insert, line 52, in insert
   Module sqlalchemy.orm.session, line 681, in flush
   Module sqlalchemy.orm.unitofwork, line 216, in flush
   Module sqlalchemy.orm.unitofwork, line 432, in execute
   Module sqlalchemy.orm.unitofwork, line 1051, in execute
   Module sqlalchemy.orm.unitofwork, line 1068, in execute_save_steps
   Module sqlalchemy.orm.unitofwork, line 1081, in execute_dependencies
   Module sqlalchemy.orm.unitofwork, line 1062, in execute_dependency
   Module sqlalchemy.orm.unitofwork, line 1017, in execute
   Module sqlalchemy.orm.dependency , line 282, in process_dependencies
   Module sqlalchemy.orm.dependency, line 317, in _synchronize
   Module sqlalchemy.orm.sync, line 91, in execute
   Module sqlalchemy.orm.sync, line 143, in execute
   Module sqlalchemy.orm.mapper , line 936, in set_attr_by_column
   Module sqlalchemy.orm.util, line 101, in __getitem__
 KeyError: Column(u'idindicatorgroup', MSInteger(length=11), ForeignKey(u'
 indicatorgroups.idindicatorgroup'), nullable=False,
 default=PassiveDefault(u'0'))

 And i don't know what I am doing wrong

 thanks a lot

 2007/11/7, Michael Bayer [EMAIL PROTECTED]:
 
 
 
  On Nov 7, 2007, at 5:20 AM, lur ibargutxi wrote:
 
  
   Does anyone knows what am I doing wrong??
  
 
  nopewould need to see an entire reproducing test case for that one.
 
   
 


 --
 Lur Ibargutxi
 [EMAIL PROTECTED]




-- 
Lur Ibargutxi
[EMAIL PROTECTED]

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~--~~~~--~~--~--~---



[sqlalchemy] Re: insert to the database

2007-11-08 Thread lur ibargutxi
Table definition:

tables['indicators'] = Table('indicators', metadata, autoload=True)
tables['indicatorgroups'] = Table('indicatorgroups', metadata,
autoload=True)
##indicatorgroups table has two columns: idindicatorgroup, name
##indicators table has several columns: idindicator, idindicatorgroup(FK),
...

Mapper:

mappers['indicatorgroups'] = mapper(IndicatorGroups,
tables['indicatorgroups'])
mappers['indicators'] = mapper(Indicators, tables['indicators'],
properties = {
'idindicatorgroup' :
relation(IndicatorGroups),
},allow_column_override=True)

Once i do this I have create a method in order to insert data in my mySQL
db:

class Insert:
implements(IInsert)

def insert(self, file):
import pdb
db = getUtility(IDatabase, name='db.query')
session = db.session
sniffer = csv.Sniffer()
dialect = sniffer.sniff(file.read())
file.seek(0)
csvReader = csv.reader(file, dialect=dialect)
csvReader.next()
for i in csvReader:

group, subgroup, indicator, code = i
indg=IndicatorGroups()
indg.name=group
session.save(indg)
ind=Indicators()
ind.code=code
ind.name=indicator
ind.idindicatorgroup=indg
session.save(ind)
session.flush()

but when execute session.flush() I have this error:

Traceback (innermost last):
  Module ZPublisher.Publish, line 115, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 41, in call_object
  Module Products.odr.lugabe_db.browser.csv_insert, line 26, in __call__
  Module Products.odr.lugabe_db.insert, line 52, in insert
  Module sqlalchemy.orm.session, line 681, in flush
  Module sqlalchemy.orm.unitofwork, line 216, in flush
  Module sqlalchemy.orm.unitofwork, line 432, in execute
  Module sqlalchemy.orm.unitofwork, line 1051, in execute
  Module sqlalchemy.orm.unitofwork, line 1068, in execute_save_steps
  Module sqlalchemy.orm.unitofwork, line 1081, in execute_dependencies
  Module sqlalchemy.orm.unitofwork, line 1062, in execute_dependency
  Module sqlalchemy.orm.unitofwork, line 1017, in execute
  Module sqlalchemy.orm.dependency, line 282, in process_dependencies
  Module sqlalchemy.orm.dependency, line 317, in _synchronize
  Module sqlalchemy.orm.sync, line 91, in execute
  Module sqlalchemy.orm.sync, line 143, in execute
  Module sqlalchemy.orm.mapper, line 936, in set_attr_by_column
  Module sqlalchemy.orm.util, line 101, in __getitem__
KeyError: Column(u'idindicatorgroup', MSInteger(length=11), ForeignKey(u'
indicatorgroups.idindicatorgroup'), nullable=False,
default=PassiveDefault(u'0'))

And i don't know what I am doing wrong

thanks a lot

2007/11/7, Michael Bayer [EMAIL PROTECTED]:



 On Nov 7, 2007, at 5:20 AM, lur ibargutxi wrote:

 
  Does anyone knows what am I doing wrong??
 

 nopewould need to see an entire reproducing test case for that one.

 



-- 
Lur Ibargutxi
[EMAIL PROTECTED]

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~--~~~~--~~--~--~---



[sqlalchemy] Re: insert to the database

2007-11-07 Thread Michael Bayer


On Nov 7, 2007, at 5:20 AM, lur ibargutxi wrote:


 Does anyone knows what am I doing wrong??


nopewould need to see an entire reproducing test case for that one.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
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
-~--~~~~--~~--~--~---