any chance of producing a *small* test case for this

[email protected] wrote:
>
> Yes, the erroneous behavior goes away when this code is commented out.
> No, an empty instrumentation manager *does not cause* the error. Note
> that I had a sqlalchemy Table object called 'attributes' in my model.
> I have changed the code so that I do not import 'attributes' from
> sqlalchemy.orm but instead fully-qualify it. Similarly, I have changed
> the model code to refer to 'chimera_columns' rather than 'attributes'.
> I have also renamed the mapped property 'attributes' as 'columns' as
> at my workplace, nobody other than myself refers to database columns
> as 'attributes'!
>
> class AttachNotesAsDocstring(interfaces.InstrumentationManager):
>     pass
>
> sqlalchemy.orm.attributes.instrumentation_finders.insert(0, lambda
> cls: AttachNotesAsDocstring)
>
>
> However, despite all these changes, if I provide an implementation of
> instrument_attribute as follows then I get the dreaded
> 'ColumnProperty' object has no attribute 'strategy' error.
>
>     def instrument_attribute(self, class_, key, attr):
>         if isinstance(attr.property, properties.ColumnProperty):
>             if hasattr(attr.property.columns[0], 'info'):
>                 attr.__doc__ = attr.property.columns[0].info.get
> ('notes')
>
>
> I can live without the docstring fanciness for now but it has been
> educational tracking down the various problems.
>
> pjjH
>
>
>
>
>
> On Apr 3, 3:04 pm, "Michael Bayer" <[email protected]> wrote:
>> [email protected] wrote:
>>
>> > # class AttachNotesAsDocstring(interfaces.InstrumentationManager):
>> > #      def instrument_attribute(self, class_, key, attr):
>> > #          if isinstance(attr.property, properties.ColumnProperty):
>> > #              if hasattr(attr.property.columns[0], 'info'):
>> > #                  attr.__doc__ = attr.property.columns[0].info.get
>> > ('notes')
>>
>> > # attributes.instrumentation_finders.insert(0, lambda cls:
>> > AttachNotesAsDocstring)
>>
>> the erroneous behavior is narrowed down to this, correct ?   is anything
>> within the method raising an error (try putting pdbs or print statements
>> in it)?  does having just an empty do-nothing instrumentationmanager
>> cause
>> the error ?
> >
>


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

Reply via email to