I've got the same error on Python 2.7 under Mac OS X 10.7.1 running
with oursql 0.9.2 for Python 2.x.

But I really need Python 3 for this project as I have developed a web
framework (soon to be published on GitHub as Serendipity) that is
intrinsically linked against Python 3. This framework uses SQLAlchemy
SqlSoup as the alternative for connecting to relational databases as
it also have pluggable models for NoSQL DB's like MongoDB, CouchDB,
etc...

The ultimate goal is to provide automatic mapping on relational
databases for rapid application development.

Actually everything but relations is working fine.

I have not tested yet with manual mappings.

Are there any plans for SqlSoup continuation?

On Aug 17, 5:39 pm, Michael Bayer <mike...@zzzcomputing.com> wrote:
> We don't have very good support for SqlSoup as it was written many years ago 
> and is only updated occasionally, can you reproduce your error using normal 
> SQLAlchemy mappings + table reflection ?   Or at least trying Python 2 ?
>
> On Aug 17, 2011, at 3:53 PM, Ygor Lemos wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > I was trying to do a simple relate according to SqlSoup documentation,
> > but this error keeps popping every time for every tables I try to
> > relate even though the foreign keys are right and valid and a manual
> > SQL join works normally:
>
> >>>> db.audits.relate('customer', db.customers)
> > 2011-08-17 16:46:22,560 INFO sqlalchemy.engine.base.Engine SELECT
> > DATABASE()
> > 2011-08-17 16:46:22,561 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,564 INFO sqlalchemy.engine.base.Engine SHOW
> > VARIABLES LIKE 'lower_case_table_names'
> > 2011-08-17 16:46:22,564 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,565 INFO sqlalchemy.engine.base.Engine SHOW
> > COLLATION
> > 2011-08-17 16:46:22,565 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,571 INFO sqlalchemy.engine.base.Engine SHOW
> > VARIABLES LIKE 'sql_mode'
> > 2011-08-17 16:46:22,571 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,592 INFO sqlalchemy.engine.base.Engine SHOW CREATE
> > TABLE `audits`
> > 2011-08-17 16:46:22,592 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,595 INFO sqlalchemy.engine.base.Engine SHOW CREATE
> > TABLE `customers`
> > 2011-08-17 16:46:22,595 INFO sqlalchemy.engine.base.Engine ()
> > 2011-08-17 16:46:22,597 INFO sqlalchemy.engine.base.Engine SHOW CREATE
> > TABLE `users`
> > 2011-08-17 16:46:22,597 INFO sqlalchemy.engine.base.Engine ()
> >>>> a = db.audits.first()
> > 2011-08-17 16:46:39,724 INFO sqlalchemy.engine.base.Engine BEGIN
> > (implicit)
> > 2011-08-17 16:46:39,725 INFO sqlalchemy.engine.base.Engine SELECT
> > audits.id AS audits_id, audits.site AS audits_site, audits.zeit AS
> > audits_zeit, audits.responsible AS audits_responsible, audits.prologue
> > AS audits_prologue, audits.checklists AS audits_checklists,
> > audits.utype AS audits_utype, audits.customers_id AS
> > audits_customers_id, audits.users_id AS audits_users_id
> > FROM audits
> > LIMIT ?, ?
> > 2011-08-17 16:46:39,725 INFO sqlalchemy.engine.base.Engine (0, 1)
>
> >>>> a
> > MappedAudits(id=179,site='123',zeit=datetime.datetime(2011, 8, 15, 3,
> > 20,
> > 38),responsible='123',prologue='123',checklists='4',utype=None,customers_id 
> > =1,users_id=3)
>
> >>>> a.customer
> > 2011-08-17 16:46:48,668 INFO sqlalchemy.engine.base.Engine SELECT
> > customers.id AS customers_id, customers.name AS customers_name,
> > customers.doc AS customers_doc, customers.email AS customers_email,
> > customers.active AS customers_active
> > FROM customers
> > WHERE customers.id = ?
> > 2011-08-17 16:46:48,668 INFO sqlalchemy.engine.base.Engine (1,)
>
> > Traceback (most recent call last):
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/ext/sqlsoup.py", line 474, in _compare
> >    t2 = [getattr(o, k) for k in L]
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/ext/sqlsoup.py", line 474, in <listcomp>
> >    t2 = [getattr(o, k) for k in L]
> > AttributeError: 'symbol' object has no attribute 'active'
>
> > During handling of the above exception, another exception occurred:
>
> > Traceback (most recent call last):
> >  File "<stdin>", line 1, in <module>
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/orm/attributes.py", line 168, in __get__
> >    return self.impl.get(instance_state(instance),dict_)
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/orm/attributes.py", line 424, in get
> >    if value in (PASSIVE_NO_RESULT, NEVER_SET):
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/ext/sqlsoup.py", line 487, in __eq__
> >    t1, t2 = _compare(self, o)
> >  File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.7.2-
> > py3.2.egg/sqlalchemy/ext/sqlsoup.py", line 476, in _compare
> >    raise TypeError('unable to compare with %s' % o.__class__)
> > TypeError: unable to compare with <class
> > 'sqlalchemy.util.langhelpers.symbol'>
>
> > My Foreign keys are all correctly setup and as a simple relation this
> > should just work, but I have no idea on what is going on with this.
> > Anybody had the same issue ?
>
> > Follows a description of my environment and the related tables:
>
> > OS: Tested on both Linux Ubuntu Natty 64bit and Mac OS X 10.7.1 Lion.
> > Python: Python 3.2.1
> > SQLAlchemy: 0.7.2
> > MySQL: 5.5.12
> > MySQL Python Driver/Connector: OurSQL 0.9.2
>
> > Follows the tables description:
>
> > === audits ===
>
> > CREATE TABLE `audits` (
> >  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
> >  `site` varchar(45) CHARACTER SET latin1 DEFAULT NULL,
> >  `zeit` datetime NOT NULL COMMENT 'date the audit was started (zeit =
> > german for time)',
> >  `responsible` varchar(100) CHARACTER SET latin1 NOT NULL,
> >  `prologue` text CHARACTER SET latin1 COMMENT 'digest at the
> > beginning',
> >  `checklists` varchar(30) DEFAULT ' ',
> >  `utype` varchar(45) DEFAULT NULL,
> >  `customers_id` int(10) unsigned NOT NULL,
> >  `users_id` int(10) unsigned NOT NULL,
> >  PRIMARY KEY (`id`),
> >  KEY `fk_audits_users1` (`users_id`),
> >  KEY `utype` (`utype`) USING BTREE,
> >  KEY `fk_audits_customers1` (`customers_id`),
> >  CONSTRAINT `fk_audits_customers1` FOREIGN KEY (`customers_id`)
> > REFERENCES `customers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
> >  CONSTRAINT `fk_audits_users1` FOREIGN KEY (`users_id`) REFERENCES
> > `users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
> > ) ENGINE=InnoDB AUTO_INCREMENT=235 DEFAULT CHARSET=utf8
>
> > === customers ===
>
> > customers | CREATE TABLE `customers` (
> >  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
> >  `name` varchar(100) CHARACTER SET latin1 NOT NULL,
> >  `doc` varchar(25) CHARACTER SET latin1 NOT NULL,
> >  `email` varchar(100) CHARACTER SET latin1 DEFAULT NULL,
> >  `active` tinyint(1) DEFAULT '1',
> >  PRIMARY KEY (`id`),
> >  UNIQUE KEY `customers_index_name` (`name`),
> >  UNIQUE KEY `customers_index_doc` (`doc`)
> > ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8
>
> > Thanks!
>
> > --
> > 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 
> > sqlalchemy+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/sqlalchemy?hl=en.

-- 
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 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to