[sqlalchemy] Re: insert to the database
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
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
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 -~--~~~~--~~--~--~---