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??
> >
>
> nope....would 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to