Show
Ignore:
Timestamp:
09/29/09 18:12:03 (5 years ago)
Author:
ged
Message:

- Added a "table_kwargs" argument on ManyToMany relationships to pass any

extra keyword arguments to the underlying Table object (handles half of
ticket #94).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • elixir/trunk/elixir/relationships.py

    r476 r477  
    301301|                    | ``set null``, or ``set default``.                      | 
    302302+--------------------+--------------------------------------------------------+ 
    303 | ``column_format``  | DEPRECATED. Specify an alternate format string for     | 
     303| ``table_kwargs``   | A dictionary holding any other keyword argument you    | 
     304|                    | might want to pass to the underlying Table object.     | 
     305+--------------------+--------------------------------------------------------+| ``column_format``  | DEPRECATED. Specify an alternate format string for     | 
    304306|                    | naming the                                             | 
    305307|                    | columns in the mapping table.  The default value is    | 
     
    839841                 column_format=None, 
    840842                 filter=None, 
     843                 table_kwargs=None, 
    841844                 *args, **kwargs): 
    842845        self.user_tablename = tablename 
     
    880883            if 'viewonly' not in kwargs: 
    881884                kwargs['viewonly'] = True 
     885 
     886        self.table_kwargs = table_kwargs or {} 
    882887 
    883888        self.primaryjoin_clauses = [] 
     
    976981                       self.target.__name__)) 
    977982 
    978             self.table = Table(tablename, e1_desc.metadata, autoload=True) 
     983            self.table = Table(tablename, e1_desc.metadata, autoload=True, 
     984                               **self.table_kwargs) 
    979985            if 'primaryjoin' not in self.kwargs or \ 
    980986               'secondaryjoin' not in self.kwargs: 
     
    10801086 
    10811087            self.table = Table(tablename, e1_desc.metadata, 
    1082                                schema=schema, *args) 
     1088                               schema=schema, *args, **self.table_kwargs) 
    10831089            if DEBUG: 
    10841090                print self.table.repr2()