| 1612 | @classmethod |
| 1613 | def setup_classes(cls): |
| 1614 | class User(cls.Comparable): |
| 1615 | def __init__(self, name): |
| 1616 | self.name = name |
| 1617 | |
| 1618 | # o2m -> m2o |
| 1619 | # uselist -> nonuselist |
| 1620 | keywords = association_proxy( |
| 1621 | "user_keywords", |
| 1622 | "keyword", |
| 1623 | creator=lambda k: UserKeyword(keyword=k), |
| 1624 | ) |
| 1625 | |
| 1626 | # m2o -> o2m |
| 1627 | # nonuselist -> uselist |
| 1628 | singular_keywords = association_proxy("singular", "keywords") |
| 1629 | |
| 1630 | # m2o -> scalar |
| 1631 | # nonuselist |
| 1632 | singular_value = association_proxy("singular", "value") |
| 1633 | |
| 1634 | # o2m -> scalar |
| 1635 | singular_collection = association_proxy("user_keywords", "value") |
| 1636 | |
| 1637 | # uselist assoc_proxy -> assoc_proxy -> obj |
| 1638 | common_users = association_proxy("user_keywords", "common_users") |
| 1639 | |
| 1640 | # non uselist assoc_proxy -> assoc_proxy -> obj |
| 1641 | common_singular = association_proxy("singular", "keyword") |
| 1642 | |
| 1643 | # non uselist assoc_proxy -> assoc_proxy -> scalar |
| 1644 | singular_keyword = association_proxy("singular", "keyword") |
| 1645 | |
| 1646 | # uselist assoc_proxy -> assoc_proxy -> scalar |
| 1647 | common_keyword_name = association_proxy( |
| 1648 | "user_keywords", "keyword_name" |
| 1649 | ) |
| 1650 | |
| 1651 | class Keyword(cls.Comparable): |
| 1652 | def __init__(self, keyword): |
nothing calls this directly
no test coverage detected