Documentation for Using Descriptors has following example:

====
class EmailAddress(object):
   def _set_email(self, email):
      self._email = email
   def _get_email(self):
      return self._email
   email = property(_get_email, _set_email)

mapper(MyAddress, addresses_table, properties={
    '_email': addresses_table.c.email
})

...

mapper(EmailAddress, addresses_table, properties={
    'email': synonym('_email', map_column=True)
})
====

Firstly, should "MyAddress" be "EmailAddress"?

Secondly, can one not create a plain property without using synonym()?
I do not understand the need for 'copying' a column, only to change
it's behaviour using property(). I would expect something more like
this:

====
class MyStuff(object):
   def _set_useful_property(self, value):
      self.useful_property= value
   def _get_useful_property(self):
      return self.useful_property
   useful_property = property(_get_useful_property,
_set_useful_property)

mapper(MyStuff, stuff_table, properties={
    'useful_property': MyStuff.useful_property
})
====

Have I misunderstood the methods by which to add mapped properties?



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