Commit Graph

914 Commits

Author SHA1 Message Date
Simon Charette 9a7d336c38 Corrected Aggregate docs to reflect that it accepts multiple expressions. 2018-11-27 09:22:24 -05:00
François Freitag 9b15ff08ba Used auto-numbered lists in documentation. 2018-11-15 13:54:28 -05:00
Simon Charette db13bca60a Fixed #29641 -- Added support for unique constraints in Meta.constraints.
This constraint is similar to Meta.unique_together but also allows
specifying a name.

Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13 17:57:27 -05:00
Simon Charette 8eae094638 Generalized check constraint docs for other constraints. 2018-11-13 17:57:27 -05:00
Sergey Fedoseev d48662122c Corrected docs regarding RegisterLookupMixin subclasses. 2018-11-12 10:20:35 -05:00
Mads Jensen a906c98982 Fixed #29547 -- Added support for partial indexes.
Thanks to Ian Foote, Mariusz Felisiak, Simon Charettes, and
Markus Holtermann for comments and feedback.
2018-10-29 19:34:54 -04:00
Andrea Rabbaglietti 1b49b792e9 Emphasized that ForeignKey.on_delete doesn't create a SQL constraint. 2018-10-10 14:56:50 -04:00
ovalseven8 d093e01ec0 Clarified when QuerySet.select_for_update() locks. 2018-10-03 15:29:33 -04:00
Simon Charette 9142bebff2 Refs #11964 -- Changed CheckConstraint() signature to use keyword-only arguments.
Also renamed the `constraint` argument to `check` to better represent which
part of the constraint the provided `Q` object represents.
2018-10-02 10:53:04 -04:00
Jon Dufresne b3b47bf515 Added tests for using bytearray with BinaryField and corrected docs. 2018-10-01 09:16:16 -04:00
Jon Dufresne fb2964a410 Added test of filtering on BinaryField and corrected docs. 2018-09-26 14:38:12 -04:00
Jon Dufresne 8c3e0eb1c1 Normalized spelling of "lowercase" and "lowercased". 2018-09-25 10:30:18 -04:00
Tom Forbes 9cbdb44014 Fixed #23646 -- Added QuerySet.bulk_update() to efficiently update many models. 2018-09-18 16:14:44 -04:00
Ramiro Morales 1b1f64ee5a Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries.
Thanks Ramiro Morales for contributing to the patch.
2018-09-13 12:29:48 -04:00
Curtis Maloney c49ea6f591 Refs #20910 -- Replaced snippet directive with code-block. 2018-09-10 13:00:34 -04:00
Matt Wiens c122a7c53c Fixed typo in docs/ref/models/fields.txt. 2018-08-28 07:53:09 -04:00
priyanshsaxena 83b04d4f88 Fixed #29048 -- Added **extra_context to database function as_vendor() methods. 2018-08-23 11:52:09 -04:00
Sigurd Ljødal 3e09b37f80 Fixed #28649 -- Added ExtractIsoYear database function and iso_year lookup. 2018-08-18 13:09:15 -04:00
Jeff 3fa3de5415 Fixed #29646 -- Doc'd the validators that each model and form field uses. 2018-08-16 17:03:28 -04:00
Tom f1fbef6cd1 Fixed #28668 -- Allowed QuerySet.bulk_create() to ignore insert conflicts. 2018-08-03 17:40:46 -04:00
Adam Johnson 2e3ba9f592 Removed out of place sentence in QuerySet.count() docs. 2018-08-02 17:36:02 -04:00
luz.paz 97e637a87f Fixed typos in comments and docs. 2018-08-01 16:09:22 -04:00
Tom Forbes 4198445afc Refs #29548 -- Fixed failing window tests on MariaDB 10.3. 2018-07-30 19:54:56 -04:00
Carlton Gibson a67ebcb1cb Refs #29593, #26891 -- Doc'd RegisterLookupMixin.get_lookups(). 2018-07-26 10:42:33 -04:00
Andrew Brown c0e3c65b9d Fixed #29563 -- Added result streaming for QuerySet.iterator() on SQLite. 2018-07-25 18:08:57 -04:00
Claude Paroz 6e78e10549 Added doc links for django.utils.html.escape(). 2018-07-18 11:32:27 -04:00
Ian Foote 952f05a6db Fixed #11964 -- Added support for database check constraints. 2018-07-10 15:32:33 -04:00
Tim Graham 8b1d361f28
Fixed #29549 -- Doc'd that Field.choices are enforced by model validation. 2018-07-09 15:06:36 -04:00
Mads Jensen ab251fdad2 Refs #26608 -- Removed incorrect sentence in Expression.contains_over_clause docs. 2018-07-05 11:12:08 -04:00
Junyi Jiao a0b19a0f5b Refs #28643 -- Added math database functions.
Thanks Nick Pope for much review.
2018-07-05 11:02:12 -04:00
Colm O'Connor c530428d36 Fixed #21333 -- Doc'd the & and | queryset operators. 2018-06-29 20:39:18 -04:00
Ian Foote 38cada7c94 Fixed #28077 -- Added support for PostgreSQL opclasses in Index.
Thanks Vinay Karanam for the initial patch.
2018-06-29 17:00:28 -04:00
Jeffrey Yancey 2d6776ffe0 Fixed #29458 -- Doc'd how related_query_name affects Model._meta.get_field(). 2018-06-28 19:35:01 -04:00
Tim Graham dd367e0dae
Refs #12663 -- Removed Meta API upgrade guide. 2018-06-27 14:02:46 -04:00
Christian Ledermann 11bfe3a83d Refs #29493 -- Doc'd that the QuerySet in lookup accepts a string. 2018-06-16 15:53:54 -04:00
Jeremy Lainé 7417929618 Fixed #29440 -- Doc'd where the bulk argument applies in RelatedManager. 2018-06-08 14:36:17 -04:00
Srinivas Reddy Thatiparthy 4c35a173e8 Fixed #29423 -- Documented Field.value_from_object(). 2018-05-25 15:10:45 -04:00
Tim Graham e038f98bf3 Fixed #29398 -- Doc'd that cascade deletion doesn't call delete() of related models. 2018-05-18 18:08:37 -04:00
Tim Graham 7543ab1f8d Removed versionadded/changed annotations for 2.0. 2018-05-17 11:00:10 -04:00
olivierdalang 825f0beda8 Fixed #8936 -- Added a view permission and a read-only admin.
Co-authored-by: Petr Dlouhy <petr.dlouhy@email.cz>
Co-authored-by: Olivier Dalang <olivier.dalang@gmail.com>
2018-05-16 06:44:55 -04:00
Mariusz Felisiak 35319bf12c
Alphabetized imports in various docs.
Follow-up of d97cce3409 and 7d3fe36c62.
2018-05-12 19:37:42 +02:00
drd0013 5d923f2d8c Fixed #29313 -- Doc'd how to use F() to sort null values. 2018-04-19 20:07:40 -04:00
Tom c1c163b427 Fixed #28574 -- Added QuerySet.explain(). 2018-04-19 10:52:19 -04:00
Daniel Roseman e6c21217d3 Fixed reference to nonexistent __between lookup. 2018-04-04 09:43:36 -04:00
Mariusz Felisiak 55cc26941a
Refs #28643 -- Added Repeat database function.
Thanks Tim Graham and Nick Pope for reviews.
2018-04-03 19:36:12 +02:00
Quentin Agren 34c5222837 Fixed #29148 -- Doc'd how to use get_or_create() with Q objects. 2018-03-28 10:46:34 -04:00
Alasdair Nicol 0c100f8b57 Clarified docs about ISO 8601 week numbering. 2018-03-21 20:00:39 -04:00
Jezeniel Zapanta abe6c5defe Fixed #28514 -- Clarifed docs about idempotence of RelatedManager.add(). 2018-03-20 21:09:08 -04:00
Tim Graham 5fa4f40f45 Fixed #29227 -- Allowed BooleanField to be null=True.
Thanks Lynn Cyrin for contributing to the patch, and Nick Pope for review.
2018-03-20 12:10:10 -04:00
Mariusz Felisiak cede5111bb
Refs #28643 -- Added LPad and RPad database functions.
Thanks Tim Graham for the review.
2018-03-19 17:35:16 +01:00
Mariusz Felisiak 9421aee35e
Refs #28643 -- Added LTrim, RTrim, and Trim database functions.
Thanks Tim Graham and Mads Jensen for reviews.
2018-03-15 20:57:23 +01:00
Fabrizio Ettore Messina 10c0fe528a Fixed #29178 -- Allowed Index.fields to accept a tuple. 2018-03-08 10:56:55 -05:00
bobort f82de6bfb1 Refs #28643 -- Added Ord, Chr, Left, and Right database functions. 2018-02-23 10:23:22 -05:00
Tim Graham 548f78ba46
Removed redundant lookup name in register_lookup() calls. 2018-02-19 13:12:13 -05:00
Tim Graham e917ea6bec Fixed #29126 -- Doc'd the behavior of QuerySet.update_or_create() with manually specified pks. 2018-02-15 13:17:37 -05:00
Matthew Wilkes 2162f0983d Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields). 2018-02-10 19:08:55 -05:00
Sergey Fedoseev 01bfa9219b Fixed typo in bulk_create() documentation. 2018-02-08 10:33:45 +01:00
priyanshsaxena 617d5f410f Fixed #29066 -- Allowed negating query expressions. 2018-01-31 10:54:19 -05:00
Jon Dufresne 136bf5c214 Fixed #29076 -- Made Model.refresh_from_db() clear cached relationships even if the related id doesn't change. 2018-01-30 10:43:53 -05:00
Tim Graham e6f0e324e2 Fixed #29081 -- Clarified comments in QuerySet.select_related() example. 2018-01-29 11:11:43 -05:00
Sigurd Ljødal a455e732a0 Fixed #28650 -- Added TruncWeek database function. 2018-01-27 09:59:13 -05:00
Tim Graham 2870879981 Fixed heading level typo in docs/ref/models/database-functions.txt. 2018-01-23 19:48:57 -05:00
Mariusz Felisiak 7fbb1bd00d
Fixed #29032 -- Fixed an example of using expressions in QuerySet.values(). 2018-01-19 08:55:29 +01:00
Mads Jensen 65728550bd Refs #28643 -- Added Replace database function. 2018-01-17 20:46:15 -05:00
Botond Béres 52aa26e697 Fixed #28231 -- Doc'd that QuerySet.bulk_create() casts objs to a list. 2018-01-12 19:56:16 -05:00
Cameron Curry 622ead6aaf Fixed #28937 -- Allowed BinaryField to be editable=True. 2017-12-22 16:31:46 -05:00
Mohammad Esmaeilbeygi 9d1d0e2b70 Fixed import in docs/ref/models/conditional-expressions.txt example. 2017-12-07 08:57:38 -05:00
Igor Starikov 3cc08f4b2b Fixed typo in docs/ref/models/expressions.txt. 2017-12-05 08:39:57 -05:00
Benjamin Bach bf49d9eb0b Fixed #28815 -- Fixed ExtractYear imports in docs/ref/models/expressions.txt. 2017-11-17 17:30:21 -05:00
Mariusz Felisiak 2d3cc94284
Fixed #28781 -- Added QuerySet.values()/values_list() support for union(), difference(), and intersection().
Thanks Tim Graham for the review.
2017-11-12 14:28:11 +01:00
Tim Graham 327f0f37ce
Fixed #28770 -- Warned that quoting a placeholder in a raw SQL string is unsafe.
Thanks Hynek Cernoch for the report and review.
2017-11-07 13:07:12 -05:00
Tim Graham 5587485d49
Fixed #28765 -- Clarified docs about what types the __in lookup accepts. 2017-11-06 13:12:14 -05:00
Tim Graham 1e7dbbdec5 Fixed #28680 -- Doc'd Func.__init__()'s **extra and as_sql()'s **extra_context aren't escaped.
Thanks Hynek Cernoch for the report and review.
2017-11-01 11:34:06 -04:00
Ran Benita 03049fb8d9 Refs #28010 -- Allowed reverse related fields in SELECT FOR UPDATE .. OF.
Thanks Adam Chidlow for polishing the patch.
2017-10-28 20:33:42 -04:00
Botond Beres ec5f7cb92e Fixed typo in docs/ref/models/querysets.txt. 2017-10-25 19:03:21 -04:00
Botond Beres 95a14cfc47 Fixed #28395 -- Doc'd that QuerySet.first() can affect aggregation queries. 2017-10-25 18:46:25 -04:00
Jozef 3bd69b1261 Fixed typo in docs/ref/models/querysets.txt. 2017-10-17 10:07:20 -04:00
Mariusz Felisiak ad8036d715 Refs #28643 -- Reorganized database functions docs.
Thanks Tim Graham for the review.
2017-10-13 18:20:11 +02:00
Tim Graham 27193aea00 Fixed #28584 -- Dropped support for SQLite < 3.7.15. 2017-10-03 10:42:18 -04:00
Stefan Schneider 08c8c3ead9 Fixed #28653 -- Added missing ForeignKey.on_delete argument in docs. 2017-09-29 11:38:28 -04:00
Miguel 4a908c0cd2 Clarified StrIndex docs example. 2017-09-27 09:08:50 -04:00
Tim Graham 5446b72003 Removed versionadded/changed annotations for 1.11. 2017-09-22 12:51:18 -04:00
Nicolas Delaby 01d440fa1e Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) support.
Thanks Anssi Kääriäinen for contributing to the patch.
2017-09-22 11:53:17 -04:00
Mads Jensen d549b88050 Fixed #26608 -- Added support for window expressions (OVER clause).
Thanks Josh Smeaton, Mariusz Felisiak, Sergey Fedoseev, Simon Charettes,
Adam Chainz/Johnson and Tim Graham for comments and reviews and Jamie
Cockburn for initial patch.
2017-09-18 09:42:29 -04:00
Tim Graham 44a6c27fd4 Fixed #28561 -- Removed inaccurate docs about QuerySet.order_by() and joins.
As of ccbba98131, both examples don't use
a join.
2017-09-06 19:21:38 -04:00
Sergey Fedoseev f3c9562143 Fixed #15648 -- Allowed QuerySet.values_list() to return a namedtuple. 2017-09-06 15:32:32 -04:00
François Freitag ad4a8acdb5 Fixed #11557 -- Added support for a list of fields in Meta.get_latest_by and QuerySet.earliest()/latest(). 2017-09-05 20:14:54 -04:00
Dima Kudosh 093fd479d6 Fixed #28335 -- Allowed query expressions in Meta.ordering. 2017-09-05 19:10:20 -04:00
Michael 3f2b1d926b Fixed #28568 -- Fixed typo in docs/ref/models/database-functions.txt.
And made an example use naming consistent with the rest of the doc.
2017-09-04 14:40:56 -04:00
Tim Graham 6e4a34580d Fixed #28557 -- Fixed ForeignKey/OneToOneField/ManyToManyField argument name in docs. 2017-09-01 20:03:32 -04:00
Mathieu Hinderyckx cf5740fbc8 Clarified Concat example in docs. 2017-08-14 14:28:05 -04:00
Tom b78d100fa6 Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
Tim Graham d18227e341 Fixed #28471 -- Clarified that Meta.indexes is preferred to index_together. 2017-08-08 09:20:42 -04:00
Tim Graham 50a97edc1a Fixed #28466 -- Clarified the definition of a lazy relationship. 2017-08-07 15:51:46 -04:00
Tom Carrick 3159ad4df6 Fixed #27970 -- Allowed QuerySet.in_bulk() to fetch on fields besides primary key. 2017-07-21 08:34:35 -04:00
Tim Graham 487362fa8f Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value().
Unused since a0d166306f.
2017-07-20 16:30:08 -04:00
Tomer Chachamu 62917cee5a Doc'd the need to remove default ordering on Subquery aggregates. 2017-07-18 08:48:25 -04:00
Florian Apolloner adab280cef Fixed #28399 -- Fixed QuerySet.count() for union(), difference(), and intersection() queries. 2017-07-15 08:20:12 -04:00
Tim Graham 2457c1866e Refs #28352 -- Corrected another QuerySet.values_list() return type in docs example. 2017-07-11 14:22:46 -04:00
Irindu Indeera babe9e64a6 Fixed #28352 -- Corrected QuerySet.values_list() return type in docs examples. 2017-07-11 14:15:17 -04:00
Ran Benita b9f7dce84b Fixed #28010 -- Added FOR UPDATE OF support to QuerySet.select_for_update(). 2017-06-29 16:00:15 -04:00
Daniel Hahler 43a4835edf Fixed #27473 -- Added DurationField support to Extract. 2017-06-28 10:10:09 -04:00
Mariusz Felisiak 3297dede7f Fixed #28046 -- Added the db_tablespace parameter to class-based indexes.
Thanks Markus Holtermann and Tim Graham for reviews.
2017-06-27 21:15:15 +02:00
François Freitag 4f1eb64ad0 Fixed #18485 -- Doc'd behavior of PostgreSQL when manually setting AutoField. 2017-06-19 08:59:16 -04:00
Matthias Kestenholz e8c056c31a Fixed #27434 -- Doc'd how to raise a model validation error for a field not in a model form. 2017-06-13 20:26:36 -04:00
Tim Graham 0877989c94 Fixed typo in docs/ref/models/querysets.txt. 2017-06-09 12:48:24 -04:00
Mads Jensen c7f6ffbdcf Fixed #28103 -- Added quarter extract, truncation, and lookup.
Thanks Mariusz Felisiak, Tim Graham, and Adam Johnson for review.
2017-06-08 15:15:29 -04:00
Mads Jensen 085c2f94ec Refs #25240 -- Added ExtractWeek examples. 2017-06-08 09:00:57 -04:00
Lachlan Musicman 00093daec9 Fixed #28266 -- Fixed typo in docs/ref/models/instances.txt. 2017-06-02 09:17:15 -04:00
François Freitag edee5a8de6 Fixed #27639 -- Added chunk_size parameter to QuerySet.iterator(). 2017-06-01 17:50:41 -04:00
François Freitag bf50ae8210 Clarified QuerySet.iterator()'s docs on server-side cursors. 2017-06-01 15:38:30 -04:00
François Freitag 88336fdbb5 Fixed #28062 -- Added a setting to disable server-side cursors on PostgreSQL.
When a connection pooler is set up in transaction pooling mode, queries
relying on server-side cursors fail. The DISABLE_SERVER_SIDE_CURSORS
setting in DATABASES disables server-side cursors for this use case.
2017-05-06 06:59:04 -04:00
Josh Schneier 98ee57e343 Removed nonexistent methods from File's docs.
read() and write() were removed in 68a890e79f.
2017-04-25 19:49:00 -04:00
Ran Benita 2a6b4e6521 Updated docs after changing select_for_update() to raise NotSupportedError.
Follow up to 054a44d6f0.
2017-04-11 11:52:53 -04:00
Taavi Teska 5dbf1c4b23 Fixed #27947 -- Doc'd that model Field.error_messages often don't propagate to forms. 2017-04-10 14:24:44 -04:00
Sudhanshu Mishra 9f0c82971d Fixed #28025 -- Fixed typo in docs/ref/models/querysets.txt. 2017-04-05 07:23:40 -04:00
Adam Johnson 7f8a924b45 Refs #27834 -- Removed Value wrapping from StrIndex's substring param. 2017-04-03 08:39:57 -04:00
Mariusz Felisiak a3af8c99d9 Removed extra characters in docs header underlines. 2017-03-20 18:30:32 -04:00
Alasdair Nicol 757aefc12b Removed self from method signatures in docs. 2017-03-16 20:33:59 -04:00
lb1c 36f2262741 Fixed incorrect import in docs/ref/models/expressions.txt. 2017-03-15 08:09:48 -04:00
Brad Melin b625907a79 Fixed #27834 -- Added StrIndex database function. 2017-03-14 19:58:56 -04:00
Alexkane b427f0d674 Made a few queryset lookup examples consistent. 2017-02-24 16:35:08 -05:00
Claude Paroz c651331b34 Converted usage of ugettext* functions to their gettext* aliases
Thanks Tim Graham for the review.
2017-02-07 09:04:04 +01:00
Vytis Banaitis d1bab24e01 Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -05:00
chillaranand dc165ec8e5 Refs #23919 -- Replaced super(ClassName, self) with super() in docs. 2017-01-25 11:53:05 -05:00
Tim Graham 2d96c027f5 Refs #23919 -- Removed obsolete MySQLdb references. 2017-01-25 10:16:10 -05:00
Paolo Melchiorre 5890d6ab03 Fixed typo in docs/ref/models/expressions.txt. 2017-01-25 07:46:18 -05:00
Claude Paroz d2e7d15b4c Assumed iri_to_uri always returns a string
Thanks Tim Graham for the review.
2017-01-23 19:59:33 +01:00
Tim Graham 9d27478958 Refs #23919 -- Removed docs references to long integers. 2017-01-19 13:19:26 -05:00
Tim Graham f6acd1d271 Refs #23919 -- Removed Python 2 notes in docs. 2017-01-18 11:51:29 -05:00
Claude Paroz f3c43ad1fd Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
Tim Graham e27e4c0339 Removed versionadded/changed annotations for 1.10. 2017-01-17 20:52:05 -05:00
Tim Graham 5139832398 Refs #26285 -- Removed MySQL __search lookup per deprecation timeline. 2017-01-17 20:52:03 -05:00
Tim Graham bfe0d54514 Refs #26230 -- Removed support for model name query lookups when using Meta.default_related_name.
Per deprecation timeline.
2017-01-17 20:52:03 -05:00
Tim Graham bcf3532ede Refs #26154 -- Removed deprecated CommaSeparatedIntegerField. 2017-01-17 20:52:02 -05:00
Tim Graham ed251246cc Refs #25550 -- Removed support for direct assignment to the reverse side of a related set. 2017-01-17 20:52:01 -05:00
Tim Graham a0d166306f Removed GeoManager and GeoQuerySet per deprecation timeline. 2017-01-17 20:51:56 -05:00
Tim Graham ddd3268975 Refs #21127 -- Required on_delete for ForeignKey/OneToOneField.
Per deprecation timeline.
2017-01-17 14:09:28 -05:00
Matthew Schinckel 236ebe94bf Fixed #27149 -- Added Subquery and Exists database expressions.
Thanks Josh Smeaton for Oracle fixes.
2017-01-14 09:12:24 -05:00
Florian Apolloner 84c1826ded Fixed #27718 -- Added QuerySet.union(), intersection(), difference().
Thanks Mariusz Felisiak for review and Oracle assistance.
Thanks Tim Graham for review and writing docs.
2017-01-14 08:32:07 -05:00
François Freitag f3b7c05936 Refs #16614 -- Made QuerySet.iterator() use server-side cursors on PostgreSQL.
Thanks to Josh Smeaton for the idea of implementing server-side cursors
in PostgreSQL from the iterator method, and Anssi Kääriäinen and Kevin
Turner for their previous work. Also Simon Charette and Tim Graham for
review.
2017-01-11 09:25:37 -05:00
Tim Graham e2d02c1fc9 Used a nontemporal example in QuerySet.bulk_create() in docs. 2016-12-27 09:59:07 -05:00
Tim Graham e2112a5e1a Made cosmetic edits to the "What happens when you save?" docs. 2016-12-17 10:24:08 -05:00
Perry Roper 3be2268992 Added Prefetch import to first use in QuerySet docs. 2016-12-14 13:54:29 -05:00
Yohann Gabory 47ef8f31f3 Fixed #13312 -- Allowed specifying the order of null fields in queries.
Thanks Mariusz Felisiak for finishing the patch.
2016-12-08 09:54:07 -05:00
Simon Charette ad8f6a45eb Replaced RawSQL with Cast in Coalesce doc example. 2016-11-30 12:08:26 -05:00
Tim Graham 55adfc0760 Fixed #27511 -- Corrected Field.related_model docs about GenericRelation. 2016-11-21 12:30:54 -05:00
Jonatas CD b28c6ca763 Fixed #27482 -- Doc'd an example of Case() in QuerySet.filter(). 2016-11-17 12:39:35 -05:00
Jonatas CD 9da45ff352 Fixed #26985 -- Doc'd that ForeignKey.to_field reference must be unique. 2016-11-15 11:09:23 -05:00
Mads Jensen 1446902be4 Fixed #25240 -- Added ExtractWeek and exposed it through the __week lookup.
Thanks to Mariusz Felisiak and Tim Graham for review.
2016-11-11 08:01:40 -05:00