Tweak Person.emails
and Person.phones
relationships
This commit is contained in:
parent
df39d271b7
commit
9b742751cd
|
@ -29,7 +29,7 @@ from __future__ import unicode_literals, absolute_import
|
|||
import datetime
|
||||
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy import orm
|
||||
from sqlalchemy.ext.orderinglist import ordering_list
|
||||
|
||||
from .core import Base, uuid_column
|
||||
|
@ -87,16 +87,26 @@ class PersonPhoneNumber(PhoneNumber):
|
|||
__mapper_args__ = {'polymorphic_identity': 'Person'}
|
||||
|
||||
|
||||
Person.phones = relationship(
|
||||
Person.phones = orm.relationship(
|
||||
PersonPhoneNumber,
|
||||
backref='person',
|
||||
primaryjoin=PersonPhoneNumber.parent_uuid == Person.uuid,
|
||||
foreign_keys=[PersonPhoneNumber.parent_uuid],
|
||||
collection_class=ordering_list('preference', count_from=1),
|
||||
order_by=PersonPhoneNumber.preference,
|
||||
cascade='save-update, merge, delete, delete-orphan')
|
||||
cascade='save-update, merge, delete, delete-orphan',
|
||||
doc="""
|
||||
Sequence of :class:`PersonPhoneNUmber` instances which belong to the
|
||||
person.
|
||||
""",
|
||||
backref=orm.backref(
|
||||
'person',
|
||||
doc="""
|
||||
Reference to the :class:`Person` instance to which the phone number
|
||||
belongs.
|
||||
"""),
|
||||
)
|
||||
|
||||
Person.phone = relationship(
|
||||
Person.phone = orm.relationship(
|
||||
PersonPhoneNumber,
|
||||
primaryjoin=sa.and_(
|
||||
PersonPhoneNumber.parent_uuid == Person.uuid,
|
||||
|
@ -115,16 +125,26 @@ class PersonEmailAddress(EmailAddress):
|
|||
__mapper_args__ = {'polymorphic_identity': 'Person'}
|
||||
|
||||
|
||||
Person.emails = relationship(
|
||||
Person.emails = orm.relationship(
|
||||
PersonEmailAddress,
|
||||
backref='person',
|
||||
primaryjoin=PersonEmailAddress.parent_uuid == Person.uuid,
|
||||
foreign_keys=[PersonEmailAddress.parent_uuid],
|
||||
collection_class=ordering_list('preference', count_from=1),
|
||||
order_by=PersonEmailAddress.preference,
|
||||
cascade='save-update, merge, delete, delete-orphan')
|
||||
cascade='save-update, merge, delete, delete-orphan',
|
||||
doc="""
|
||||
Sequence of :class:`PersonEmailAddress` instances which belong to the
|
||||
person.
|
||||
""",
|
||||
backref=orm.backref(
|
||||
'person',
|
||||
doc="""
|
||||
Reference to the :class:`Person` instance to which the email address
|
||||
belongs.
|
||||
"""),
|
||||
)
|
||||
|
||||
Person.email = relationship(
|
||||
Person.email = orm.relationship(
|
||||
PersonEmailAddress,
|
||||
primaryjoin=sa.and_(
|
||||
PersonEmailAddress.parent_uuid == Person.uuid,
|
||||
|
@ -143,7 +163,7 @@ class PersonMailingAddress(MailingAddress):
|
|||
__mapper_args__ = {'polymorphic_identity': 'Person'}
|
||||
|
||||
|
||||
Person.addresses = relationship(
|
||||
Person.addresses = orm.relationship(
|
||||
PersonMailingAddress,
|
||||
backref='person',
|
||||
primaryjoin=PersonMailingAddress.parent_uuid == Person.uuid,
|
||||
|
@ -152,7 +172,7 @@ Person.addresses = relationship(
|
|||
order_by=PersonMailingAddress.preference,
|
||||
cascade='save-update, merge, delete, delete-orphan')
|
||||
|
||||
Person.address = relationship(
|
||||
Person.address = orm.relationship(
|
||||
PersonMailingAddress,
|
||||
primaryjoin=sa.and_(
|
||||
PersonMailingAddress.parent_uuid == Person.uuid,
|
||||
|
|
Loading…
Reference in a new issue