~ubuntu-branches/debian/jessie/sqlalchemy/jessie

« back to all changes in this revision

Viewing changes to test/orm/_fixtures.py

  • Committer: Package Import Robot
  • Author(s): Piotr Ożarowski, Jakub Wilk, Piotr Ożarowski
  • Date: 2013-07-06 20:53:52 UTC
  • mfrom: (1.4.23) (16.1.17 experimental)
  • Revision ID: package-import@ubuntu.com-20130706205352-ryppl1eto3illd79
Tags: 0.8.2-1
[ Jakub Wilk ]
* Use canonical URIs for Vcs-* fields.

[ Piotr Ożarowski ]
* New upstream release
* Upload to unstable
* Build depend on python3-all instead of -dev, extensions are not built for
  Python 3.X 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
from sqlalchemy import MetaData, Integer, String, ForeignKey
2
2
from sqlalchemy import util
3
 
from test.lib.schema import Table
4
 
from test.lib.schema import Column
5
 
from sqlalchemy.orm import attributes
6
 
from test.lib import fixtures
 
3
from sqlalchemy.testing.schema import Table
 
4
from sqlalchemy.testing.schema import Column
 
5
from sqlalchemy.orm import attributes, mapper, relationship, \
 
6
    backref, configure_mappers
 
7
from sqlalchemy.testing import fixtures
7
8
 
8
9
__all__ = ()
9
10
 
49
50
            pass
50
51
 
51
52
    @classmethod
 
53
    def _setup_stock_mapping(cls):
 
54
        Node, composite_pk_table, users, Keyword, items, Dingaling, \
 
55
            order_items, item_keywords, Item, User, dingalings, \
 
56
            Address, keywords, CompositePk, nodes, Order, orders, \
 
57
            addresses = cls.classes.Node, \
 
58
            cls.tables.composite_pk_table, cls.tables.users, \
 
59
            cls.classes.Keyword, cls.tables.items, \
 
60
            cls.classes.Dingaling, cls.tables.order_items, \
 
61
            cls.tables.item_keywords, cls.classes.Item, \
 
62
            cls.classes.User, cls.tables.dingalings, \
 
63
            cls.classes.Address, cls.tables.keywords, \
 
64
            cls.classes.CompositePk, cls.tables.nodes, \
 
65
            cls.classes.Order, cls.tables.orders, cls.tables.addresses
 
66
 
 
67
        mapper(User, users, properties={
 
68
            'addresses':relationship(Address, backref='user', order_by=addresses.c.id),
 
69
            'orders':relationship(Order, backref='user', order_by=orders.c.id), # o2m, m2o
 
70
        })
 
71
        mapper(Address, addresses, properties={
 
72
            'dingaling':relationship(Dingaling, uselist=False, backref="address")  #o2o
 
73
        })
 
74
        mapper(Dingaling, dingalings)
 
75
        mapper(Order, orders, properties={
 
76
            'items':relationship(Item, secondary=order_items, order_by=items.c.id),  #m2m
 
77
            'address':relationship(Address),  # m2o
 
78
        })
 
79
        mapper(Item, items, properties={
 
80
            'keywords':relationship(Keyword, secondary=item_keywords) #m2m
 
81
        })
 
82
        mapper(Keyword, keywords)
 
83
 
 
84
        mapper(Node, nodes, properties={
 
85
            'children':relationship(Node,
 
86
                backref=backref('parent', remote_side=[nodes.c.id])
 
87
            )
 
88
        })
 
89
 
 
90
        mapper(CompositePk, composite_pk_table)
 
91
 
 
92
        configure_mappers()
 
93
 
 
94
    @classmethod
52
95
    def define_tables(cls, metadata):
53
96
        Table('users', metadata,
54
97
              Column('id', Integer, primary_key=True, test_needs_autoincrement=True),