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 [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
-~----------~----~----~----~------~----~------~--~---