class MemberOfParliament(GroupMembership): """Defined by groupmembership and additional data. """ titles = one2many("titles", "bungeni.models.domain.MemberTitleContainer", "membership_id") addresses = one2manyindirect("addresses", "bungeni.models.domain.UserAddressContainer", "user_id")
class MemberOfParliament(GroupMembership): """Defined by groupmembership and additional data. """ sort_on = ["last_name", "first_name", "middle_name"] sort_replace = {"user_id": ["last_name", "first_name"], "constituency_id":["name"], "province_id":["name"], "region_id":["name"], "party_id":["name"]} titles = one2many("titles", "bungeni.models.domain.MemberTitleContainer", "membership_id") addresses = one2manyindirect("addresses", "bungeni.models.domain.UserAddressContainer", "user_id")
class DocVersion(Version): """A version-change of a document. """ interface.implements(interfaces.IDocVersion, ) # !+version_feature_attachment # !+FILES_VERSION_CONTAINER_ATTRIBUTE_ERROR_HACK note, "declaring" the # container with bungeni.alchemist.model.add_container_property_to_model # gives same errors! filevers = one2manyindirect( "filevers", "bungeni.models.domain.AttachmentVersionContainer", "head_id", "doc_id")
def add_container_property_to_model(domain_model, name, container_qualname, rel_attr, indirect_key=None ): """Add an alchemist container attribute to domain_model. These attributes are only catalysed (re-instrumented on domain_model) if defined directly on domain_model i.e. are not inherited, must be defined on each class. """ assert not domain_model.__dict__.has_key(name), \ "type %s already has a %r attribute %r" % ( domain_model, name, domain_model.__dict__[name]) if indirect_key: setattr(domain_model, name, one2manyindirect(name, container_qualname, rel_attr, indirect_key)) else: setattr(domain_model, name, one2many(name, container_qualname, rel_attr))
def add_container_property_to_model(domain_model, name, container_qualname, rel_attr, indirect_key=None): """Add an alchemist container attribute to domain_model. These attributes are only catalysed (re-instrumented on domain_model) if defined directly on domain_model i.e. are not inherited, must be defined on each class. """ assert not domain_model.__dict__.has_key(name), \ "type %s already has a %r attribute %r" % ( domain_model, name, domain_model.__dict__[name]) if indirect_key: setattr( domain_model, name, one2manyindirect(name, container_qualname, rel_attr, indirect_key)) else: setattr(domain_model, name, one2many(name, container_qualname, rel_attr))