summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext/declarative
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a syntax error in example code.pr/47Hyunjun Kim2013-11-211-1/+1
|
* tpoMike Bayer2013-07-201-9/+9
|
* - Improved the examples in ``examples/generic_associations``, includingMike Bayer2013-07-192-1/+41
| | | | | | | | | | | | | | | that ``discriminator_on_association.py`` makes use of single table inheritance do the work with the "discriminator". Also added a true "generic foreign key" example, which works similarly to other popular frameworks in that it uses an open-ended integer to point to any other table, foregoing traditional referential integrity. While we don't recommend this pattern, information wants to be free. Also in 0.8.3. - Added a convenience class decorator :func:`.as_declarative`, is a wrapper for :func:`.declarative_base` which allows an existing base class to be applied using a nifty class-decorated approach. Also in 0.8.3.
* ORM descriptors such as hybrid properties can now be referencedMike Bayer2013-07-021-10/+12
| | | | | | by name in a string argument used with ``order_by``, ``primaryjoin``, or similar in :func:`.relationship`, in addition to column-bound attributes. [ticket:2761]
* - fixing AbstractConcreteBase import in docstring, 0.8diana2013-05-261-1/+1
| | | branch, [ticket:2717]
* Fixed indirect regression regarding :func:`.has_inherited_table`,Mike Bayer2013-04-091-1/+1
| | | | | | | | | | | where since it considers the current class' ``__table__``, was sensitive to when it was called. This is 0.7's behavior also, but in 0.7 things tended to "work out" within events like ``__mapper_args__()``. :func:`.has_inherited_table` now only considers superclasses, so should return the same answer regarding the current class no matter when it's called (obviously assuming the state of the superclass). [ticket:2656]
* this step is not neededMike Bayer2013-02-251-3/+0
|
* happy new year (see #2645)Diana Clarke2013-01-014-4/+4
|
* Fixes grammar in docstring.Taavi Burns2012-12-311-1/+1
|
* Allow use of synonyms in primaryjoin / secondaryjoin conditionsRichard Mitchell2012-11-271-2/+5
|
* just a pep8 pass of lib/sqlalchemy/ext/declarativeDiana Clarke2012-11-194-48/+78
|
* - store only MultipleClassMarkers inside of ModuleMarker, thenMike Bayer2012-10-282-26/+71
| | | | | | store ModuleMarkers for multiple roots, one for each token in a module path. this allows partial path resolution. - docs to this effect
* - fix declarative __init__Mike Bayer2012-10-041-4/+2
|
* - commit Priit Laes docstring fixesMike Bayer2012-09-301-21/+10
| | | | - don't even talk about metadata.bind in declarative
* - [bug] Fixed a disconnect that slowly evolvedMike Bayer2012-09-141-2/+6
| | | | | | | | | | | between a @declared_attr Column and a directly-defined Column on a mixin. In both cases, the Column will be applied to the declared class' table, but not to that of a joined inheritance subclass. Previously, the directly-defined Column would be placed on both the base and the sub table, which isn't typically what's desired. [ticket:2565]
* - [feature] declared_attr can now be used withMike Bayer2012-08-273-9/+91
| | | | | | attributes that are not Column or MapperProperty; including any user-defined value as well as association proxy objects. [ticket:2517]
* - [feature] Conflicts between columns onMike Bayer2012-08-273-7/+121
| | | | | | | single-inheritance declarative subclasses, with or without using a mixin, can be resolved using a new @declared_attr usage described in the documentation. [ticket:2472]
* - [bug] Declarative can now propagate a columnMike Bayer2012-08-151-0/+5
| | | | | | | | declared on a single-table inheritance subclass up to the parent class' table, when the parent class is itself mapped to a join() or select() statement, directly or via joined inheritane, and not just a Table. [ticket:2549]
* - reorganization of declarative such that file sizes are managable again.Mike Bayer2012-08-054-0/+2163
the vast majority of file lines are spent on documentation, which moves into package __init__. The core declarative idea lives in base and is back down to its originally low size of under 500 lines. The various helpers and such move into api.py, and the full span of string lookup moves into a new module clsregistry. the rest of declarative only refers to two functions in clsregistry in three places inside of base. - [feature] Declarative now maintains a registry of classes by string name as well as by full module-qualified name. Multiple classes with the same name can now be looked up based on a module-qualified string within relationship(). Simple class name lookups where more than one class shares the same name now raises an informative error message. [ticket:2338] - lots of tests to ensure the new weak referencing memory management is maintained by the new class registry system. this ticket was served very well by waiting to do #2526 first, else this would have needed to be rewritten anyway.