batraone wrote:
>     def map(self, myfoo):
>         'Creates the map. '
>
>         orm.mapper(Foo, self.t_foo, column_prefix = '_')
>
>         # Add foo to the database
>         print dir(myfoo) # where did _name go?, _phone is there!
>
>         mf2 = Foo() # ok, let's create a new one.
>         print dir(mf2) # same problem
>
> if __name__ == '__main__':
>     f = Foo()
>     fs = FooStore()
>     fs.map(f)

The column_prefix wasn't being honored when the mapper checked for
existing names, this is fixed in trunk r5839.

But also, don't create instances of the object before the class is mapped.
 In particular, it's bad form to create tables and mappers inside of class
methods.  Create class-level constructs like tables and mappers at the
module level, in the same scope in which you create your classes.


>
>         mf2 = Foo.Foo() # ok, let's create a new one.
>         # AttributeError: 'Foo' object has no attribute
> '_sa_instance_state'
>         myfoo._phone = '555-1212' #
>
> if __name__ == '__main__':
>     orm.clear_mappers()
>     f = Foo.Foo()
>     fs = FooStore()
>     fs.map(f)

don't create instances of the object before the class is mapped.


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