[sqlalchemy] Re: AttributeError: 'ColumnProperty' object has no attribute 'strategy'
my problem is that in my local configuration I have SQLAlchemy0.4.0 and collective.lead and my aplication work very well but when i try to do the same thing in the server I have this problem: ArgumentError: Error determining primary and/or secondary join for relationship 'Areas.idareatype2 (Areatypes)'. If the underlying error cannot be corrected, you should specify the 'primaryjoin' (and 'secondaryjoin', if there is an association table present) keyword arguments to the relation() function (or for backrefs, by specifying the backref using the backref() function with keyword arguments) to explicitly specify the join conditions. Nested error is Can't find any foreign key relationships between 'areas' and 'areatypes' 2007/11/23, klaus [EMAIL PROTECTED]: Is it possible that your mapped class has a regular Python property with the same name as a mapped relation? Klaus On 23 Nov., 17:08, lur ibargutxi [EMAIL PROTECTED] wrote: Hi! I made an aplication in my local machine but when I tried to do the same in the server I had this problem: Module Python expression view.indicators(), line 1, in expression Module Products.odr.lugabe_db.browser.sql, line 23, in indicators Module Products.odr.lugabe_db.query, line 48, in first_group Module sqlalchemy.orm.query, line 939, in all Module sqlalchemy.orm.query, line 895, in list Module sqlalchemy.orm.query, line 964, in __iter__ Module sqlalchemy.orm.query, line 358, in select_whereclause Module sqlalchemy.orm.query, line 1197, in compile Module sqlalchemy.orm.interfaces, line 160, in setup Module sqlalchemy.orm.interfaces, line 143, in _get_context_strategy AttributeError: 'ColumnProperty' object has no attribute 'strategy' Does anyone know about this problem? -- 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] AttributeError: 'ColumnProperty' object has no attribute 'strategy'
Hi! I made an aplication in my local machine but when I tried to do the same in the server I had this problem: Module Python expression view.indicators(), line 1, in expression Module Products.odr.lugabe_db.browser.sql, line 23, in indicators Module Products.odr.lugabe_db.query, line 48, in first_group Module sqlalchemy.orm.query, line 939, in all Module sqlalchemy.orm.query, line 895, in list Module sqlalchemy.orm.query, line 964, in __iter__ Module sqlalchemy.orm.query, line 358, in select_whereclause Module sqlalchemy.orm.query, line 1197, in compile Module sqlalchemy.orm.interfaces, line 160, in setup Module sqlalchemy.orm.interfaces, line 143, in _get_context_strategy AttributeError: 'ColumnProperty' object has no attribute 'strategy' Does anyone know about this problem? -- 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
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] primary and secondary join
Hi!! I have a IndicatorGroups table(with two columns: id, name). And i have another table to to do the relation between two groups(with three columns: id, idgroupcontainer, idgroupcontained). And when I am going to do the mapper: mappers['groupgroups'] = mapper(GroupGroups, tables['groupgroups'], properties = { 'idindicatorgroupcontainer' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontainer)),'idindicatorgroupcontained' : relation(IndicatorGroups, primaryjoin=sql.and _(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontained)), },allow_column_override=True) This is well done or I have to put like secondaryjoin one of them?? Thanks a lot -- 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] insert to the database
Hi everybody!! I'm trying to do this: 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 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 49, 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')) Does anyone knows what am I doing wrong?? Thanks a lot -- 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] mapper
Hi everyone! I'm new in SQLAlchemy and this is my code: mappers['indicatorgroups'] = mapper(IndicatorGroups, tables['indicatorgroups']) mappers['groupgroups'] = mapper(GroupGroups, tables['groupgroups'], properties = { 'idindicatorgroupcontainer' : relation(IndicatorGroups, primaryjoin=sql.and_(IndicatorGroups.idindicatorgroup==GroupGroups.idindicatorgroupcontainer)),'idindicatorgroupcontained' : relation(IndicatorGroups, primaryjoin=sql.and_(IndicatorGroups.idindicatorgroup==GroupGroups.idindicatorgroupcontained)), },allow_column_override=True) when i do: g=IndicatorGroups() I have this error: Module sqlalchemy.sql.visitors, line 56, in traverse AttributeError: 'bool' object has no attribute 'get_children' I don't know how to fix this. Does anyone knows about this problem?? Thanks a lot Module sqlalchemy.sql.visitors, line 56, in traverse AttributeError: 'bool' object has no attribute 'get_children' -- 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: mapper
thanks a lot. That's the solution. 2007/11/6, Marco Mariani [EMAIL PROTECTED]: lur ibargutxi wrote: I forgot. Try using tables instead of classes that are not mapped yet.. mappers['groupgroups'] = mapper(GroupGroups, tables['groupgroups'], properties = { 'idindicatorgroupcontainer' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontainer)),'idindicatorgroupcontained' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontained)), },allow_column_override=True) -- 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: mapper
Once i did what you said, I'm trying to insert values to the db: indg=IndicatorGroups(idindicatorgroup=None, name=group) session.save(indg) session.flush() indsg=IndicatorGroups(idindicatorgroup=None, name=subgroup) session.save(indsg) session.flush() I create two IndicatorGroups but when I want to create a GroupGroups: groupgroup=GroupGroups(idgroupgroup=None,idindicatorgroupcontainer=indg.idindicatorgroup, idindicatorgroupcontained=indsg.idindicatorgroup) session.save(groupgroup) session.flush() I have this problem: 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 42, in insert Module sqlalchemy.orm.attributes, line 1025, in init Module Products.odr.lugabe_db.groupgroups, line 18, in __init__ Module sqlalchemy.orm.attributes, line 32, in __set__ Module sqlalchemy.orm.attributes, line 363, in set Module sqlalchemy.orm.attributes, line 304, in fire_replace_event AttributeError: 'long' object has no attribute '_state' 2007/11/6, lur ibargutxi [EMAIL PROTECTED]: thanks a lot. That's the solution. 2007/11/6, Marco Mariani [EMAIL PROTECTED]: lur ibargutxi wrote: I forgot. Try using tables instead of classes that are not mapped yet.. mappers['groupgroups'] = mapper(GroupGroups, tables['groupgroups'], properties = { 'idindicatorgroupcontainer' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontainer)),'idindicatorgroupcontained' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontained)), },allow_column_override=True) -- 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: mapper
2007/11/6, lur ibargutxi [EMAIL PROTECTED]: Once i did what you said, I'm trying to insert values to the db: indg=IndicatorGroups(idindicatorgroup=None, name=group) session.save(indg) session.flush() indsg=IndicatorGroups(idindicatorgroup=None, name=subgroup) session.save(indsg) session.flush() I create two IndicatorGroups but when I want to create a GroupGroups: groupgroup=GroupGroups(idgroupgroup=None,idindicatorgroupcontainer=indg.idindicatorgroup, idindicatorgroupcontained=indsg.idindicatorgroup) I think this is wrong and I have to do like this: groupgroup=GroupGroups(idgroupgroup=None,idindicatorgroupcontainer=indg, idindicatorgroupcontained=indsg) but now the error is the next one: 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 44, 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'idindicatorgroupcontained', MSInteger(length=11), ForeignKey(u'indicatorgroups.idindicatorgroup'), nullable=False, default=PassiveDefault(u'0')) Someone knows how can I fix this? Thanks a lot session.save(groupgroup) session.flush() I have this problem: 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 42, in insert Module sqlalchemy.orm.attributes, line 1025, in init Module Products.odr.lugabe_db.groupgroups, line 18, in __init__ Module sqlalchemy.orm.attributes, line 32, in __set__ Module sqlalchemy.orm.attributes, line 363, in set Module sqlalchemy.orm.attributes, line 304, in fire_replace_event AttributeError: 'long' object has no attribute '_state' 2007/11/6, lur ibargutxi [EMAIL PROTECTED]: thanks a lot. That's the solution. 2007/11/6, Marco Mariani [EMAIL PROTECTED]: lur ibargutxi wrote: I forgot. Try using tables instead of classes that are not mapped yet.. mappers['groupgroups'] = mapper(GroupGroups, tables['groupgroups'], properties = { 'idindicatorgroupcontainer' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontainer)),'idindicatorgroupcontained' : relation(IndicatorGroups, primaryjoin=sql.and_(tables['indicatorgroups'].c.idindicatorgroup==tables['groupgroups'].c.idindicatorgroupcontained)), },allow_column_override=True) -- Lur Ibargutxi [EMAIL PROTECTED] -- 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 -~--~~~~--~~--~--~---