seems your baseclass is oldstyle class, not inheriting 'object'.
python 2.5 newstyle classes (off object) has that __subclasses__() 
classmethod (see dir(type)), not sure if 2.4 has that at all.
i've no idea where these are explained (as well as mro() and other 
type' stuff.)


i looked a bit at the src and i have a may be related question:
 why, once a instrumentation (descriptor) is installed on some class X 
attribute xyz, the same descriptor has to be installed on all 
subclasses of it?
getattr( some_subclass_of_X, 'xyz') would return it anyway?

if it is to allow diff subclasses to have diff. instrumentation, why 
it has to be triggered by the base class and not by mapper? 
and if that is because the subclass may have no mapper... what it has 
to do with SA then?

On Wednesday 20 August 2008 12:39:15 Harish K Vishwanath wrote:
> Hello,
>
> I was using elixir 0.5.2 (SQL Alchemy 0.4.6) on Py 2.4.
>
> All my model objects inherits from Entity as well as another
> baseobject specific to our application.
>
> class User(elixir.Entity, application.baseobject):
> ...
> ...
>
> It used to work fine.
>
> Today I upgraded to SQLA 0.5 beta3 and elixir 0.6.1. The same code
> doesn't work anymore.
>
>
>   File "c:\Python24\lib\site-
> packages\elixir-0.6.1-py2.4.egg\elixir\entity.py",
> line 816, in setup_entities
>   File
> "c:\Python24\lib\site-packages\elixir-0.6.1-py2.4.egg\elixir\entity
>.py", line 409, in setup_mapper
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \orm\__init__.py", line 623, in mapper
>     return Mapper(class_, local_table, *args, **params)
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \orm\mapper.py", line 196, in __init__
>     self.__compile_class()
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \orm\mapper.py", line 844, in __compile_class
>     manager = attributes.create_manager_for_cls(self.class_)
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \orm\attributes.py", line 1498, in create_manager_for_cls
>     existing_factories = collect_management_factories_for(class_)
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \orm\attributes.py", line 1604, in
> collect_management_factories_for hierarchy =
> util.class_hierarchy(cls)
>   File
> "c:\python24\lib\site-packages\SQLAlchemy-0.5.0beta3-py2.4.egg\sqla
>lchemy \util.py", line 408, in class_hierarchy
>     for s in [_ for _ in c.__subclasses__() if _ not in hier]:
> AttributeError: class IRObject has no attribute '__subclasses__'
>
> IRObject is our app specific base class.
>
> Any ideas?
> Thanks,
> Harish
>
> 


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