Commit Graph

713 Commits

Author SHA1 Message Date
Renato Oliveira e3720b990a Fixed #25382 -- Removed obsolete references to DateQuerySet. 2015-09-11 12:16:06 -04:00
Tim Graham 7c0850028f Documented a limitation of Options.required_db_features. 2015-09-03 13:37:39 -04:00
Adam Brenecki 52a190b657 Fixed #24988 -- Documented passing a dictionary of ValidationErrors to ValidationError 2015-08-13 14:17:02 -04:00
Tim Graham 5980b05c1f Fixed #25160 -- Moved unsaved model instance data loss check to Model.save()
This mostly reverts 5643a3b51b and
81e1a35c36.

Thanks Carl Meyer for review.
2015-08-10 08:51:32 -04:00
Caio Ariede ec9004728e Fixed #25175 -- Renamed the postgresql_psycopg2 database backend to postgresql. 2015-08-07 09:33:17 -04:00
Tim Graham e8cd65f829 Fixed #25213 -- Discouraged use of QuerySet.extra()
Thanks Anssi Kääriäinen for the draft text and Simon Charette
for review.
2015-08-05 08:01:11 -04:00
Tim Graham 97fa7fe961 Fixed #25212 -- Documented the RawSQL expression. 2015-08-05 07:54:54 -04:00
Alasdair Nicol b792c4804b Removed unnecessary F() from Func expressions docs 2015-07-31 01:40:35 +01:00
Simon Charette 6a46f23957 Refs #18556 -- Fixed a typo in the related manager add() method docs. 2015-07-27 22:50:13 -04:00
Tim Graham adc0c4fbac Fixed #18556 -- Allowed RelatedManager.add() to execute 1 query where possible.
Thanks Loic Bistuer for review.
2015-07-28 09:28:25 +07:00
Flavio Curella c2e70f0265 Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField 2015-07-27 18:28:13 -04:00
Tim Graham 87d55081ea Fixed #25159 -- Removed brackets from class/function/method signatures in docs.
Thanks hellbeast for the initial patch.
2015-07-27 10:32:47 -04:00
Tim Graham b60375d4bb Fixed #25129 -- Made model instance defaults work with migrations (refs #24919). 2015-07-21 09:19:40 -04:00
Edward Henderson f8cc464452 Fixed #16501 -- Added an allow_unicode parameter to SlugField.
Thanks Flavio Curella and Berker Peksag for the initial patch.
2015-07-17 13:48:58 -04:00
Luke fd869cceac Fixed mistake in Model.from_db() example. 2015-07-03 09:08:22 -04:00
William Schwartz 9a5cfa05a0 Fixed #24997 -- Enabled bulk_create() on proxy models 2015-07-02 13:53:51 -04:00
Tim Graham aaacaeb096 Renamed RemovedInDjangoXYWarnings for new roadmap.
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
johannes.linke 27c839e0fc Fixed #24881 -- Clarified Meta.order_with_respect_to documentation 2015-06-19 07:01:54 -04:00
Adam Chainz d34d39ade7 Fixed #24894 -- Added contrib.postgres.functions.TransactionNow 2015-06-15 14:03:17 -04:00
Matt Deacalion Stevens 77f3d7adb1 Clarified the default form widgets for model number fields in docs 2015-06-09 12:33:01 -04:00
Alasdair Nicol 1f5b067710 Fixed #24952 -- Fixed example SQL in Func() expressions docs 2015-06-08 15:14:15 +01:00
Tim Graham 6b41834855 Minor edits to Greatest/Least docs; refs #24767. 2015-06-05 11:40:10 -04:00
Yamila Moreno cbe4efcbc1 Fixed #22571 -- Added clarification about auto_now_add=True 2015-06-05 09:56:02 -04:00
Tim Graham 2fbea621e6 Capitalized "Python" in docs. 2015-06-05 08:24:53 -04:00
Ian Foote 14dead04ac Fixed #24925 -- Document using Coalesce on MySQL
Add warning for using Coalesce with python values on MySQL and document
workaround.
2015-06-05 11:18:58 +01:00
Ian Foote 4ab53a558a Fixed #24767 -- Added Greatest and Least expressions
Greatest and Least are row-level Function versions of Min and Max.
2015-06-05 11:15:33 +01:00
Matthew Somerville 2dc93bb10a Fixed #22316 -- Added time filters to TimeField on SQLite.
This was implemented for non-SQLite backends in 1.7 (as a
side effect of #16187).
2015-06-04 22:27:13 -04:00
Adam Chainz 23048d186c Fixed #24866 -- Added Now() database function 2015-06-02 17:59:01 -04:00
Jon Dufresne 44f3ee7716 Fixed #9596 -- Added date transform for DateTimeField. 2015-06-02 08:49:10 -04:00
Przemysław Suliga d29ed3f355 Fixed #24880 -- Added more explicit docs on select_for_update() on SQLite. 2015-06-01 08:53:12 -04:00
Alexander Sosnovskiy 04e8d890ae Fixed #16891 -- Made Model/QuerySet.delete() return the number of deleted objects. 2015-05-22 13:27:16 -04:00
David Krisch 1a62f19707 Fixed #24763 -- Moved DoesNotExist exception to model docs. 2015-05-08 13:05:50 -04:00
Ian Foote 756a727252 Fixed typo in docs/ref/models/expressions.txt 2015-05-07 20:15:24 -04:00
Luis Del Giudice 69ddc1b3da Fixed #24693 -- Added label and label_lower property to Model._meta 2015-05-02 16:58:18 +02:00
Tim Graham 2b086229a2 Fixed #24665 -- Clarified model field flag defaults. 2015-04-29 20:35:22 -04:00
Tim Graham 2d76b61dc2 Fixed #24649 -- Allowed using Avg aggregate on non-numeric field types. 2015-04-25 13:06:14 -04:00
Nicolas Noé 37682368a6 Fixed #24656 -- Added missing imports to query expressions doc. 2015-04-24 10:54:19 -04:00
Richard Eames dd99f57710 Fixed #24613 -- Added example to QuerySet.defer() documentation 2015-04-22 19:18:57 -04:00
Jon Dufresne b5e0eede40 Fixed #22394 -- Refactored built-in datetime lookups to transforms. 2015-04-20 15:11:11 -04:00
Neal Todd d84f01ff08 Amended get_all_related_objects() backwards compatible replacement. 2015-04-20 09:50:17 -04:00
Tim Graham e9fdecf984 Removed DateTimeQuerySet from docs.
Obsolete since refs #23867.
2015-04-18 10:14:22 -04:00
Claude Paroz 8097e54832 Fixed #23879 -- Allowed model migration skip based on feature/vendor
Thanks Carl Meyer for the report and review, and Tim Graham for the
review.
2015-04-18 15:17:49 +02:00
lampslave 800240cb1d Fixed typo in docs/ref/models/expressions.txt 2015-04-07 13:58:39 -04:00
Christopher Luc 8119876d4a Improved docs for timezone handling for auto_now and auto_now_add
Thanks djbug for the report and Aymeric Augustin and Carl Meyer for the
review.
2015-03-29 22:32:05 +02:00
Matt Seymour 98c5370ef6 Fixed #24510 -- Clarified FileField.upload_to docs. 2015-03-26 19:21:12 -04:00
Fabio Natali cb506aed2a Fixed #23814 -- Documented apps refactored out of Django. 2015-03-25 08:46:23 -04:00
Iacopo Spalletti 87fed94440 Fixed #23814 -- Pointed localflavor documentation to external package
Edited localflavor doc to point to the external package documentation,
leaving just the 'How to migrate' section in Django.
2015-03-22 15:31:54 +01:00
Josh Smeaton 02a2943e4c Fixed #24485 -- Allowed combined expressions to set output_field 2015-03-22 17:36:55 +11:00
Karl Hobley 81e1a35c36 Fixed #24495 -- Allowed unsaved model instance assignment check to be bypassed. 2015-03-18 19:00:09 -04:00
Josh Smeaton 88d798d71a Refs #24485 -- Renamed some expression types 2015-03-17 08:40:18 -04:00
Andriy Sokolovskiy 81c2d9f60b Fixed #15579 -- Added ability to delete only child models in multi-table inheritance. 2015-03-17 08:33:16 -04:00
Josh Smeaton 820381d38b Fixed #24486 -- Documented method to provide output_field to mixed F expressions 2015-03-16 11:54:27 -04:00
Tim Graham b9d9ab23bd Refs #24462 -- Emphasized that order_by() clears previous ordering. 2015-03-13 15:40:25 -04:00
Steven Das 53bc6e2e98 Fixed typo in docs/ref/models/fields.txt 2015-03-12 19:16:05 -04:00
Sean Wang a3e89f13df Fixed #24414 -- Added examples of Prefetch object usage to the docs. 2015-03-11 12:38:25 -04:00
Floris den Hengst b9b8411129 Fixed #24432 -- Added docs for ManyToManyFields that reside in and refer to the same model. 2015-03-09 20:44:55 -04:00
Marc Tamlyn 32d4db66b9 Update converters to take a consistent set of parameters.
As suggested by Anssi. This has the slightly strange side effect of
passing the expression to Expression.convert_value has the expression
passed back to it, but it allows more complex patterns of expressions.
2015-02-20 11:35:52 +00:00
Loic Bistuer 18c0aaa912 Fixed #24289 -- Reversed usage of Field.many_to_one and one_to_many.
Thanks Carl Meyer and Tim Graham for the reviews and to all involved
in the discussion.
2015-02-14 02:28:24 +07:00
Josh Smeaton e2d6e14662 Refs #14030 -- Improved expression support for python values 2015-02-12 08:46:25 +11:00
Aymeric Augustin 1b8af4cfa0 Disallowed importing concrete models without an application.
Removed fragile algorithm to find which application a model belongs to.

Fixed #21680, #21719. Refs #21794.
2015-02-10 21:41:19 +01:00
Loic Bistuer 71ada3a8e6 Fixed #6707 -- Added RelatedManager.set() and made descriptors' __set__ use it.
Thanks Anssi Kääriäinen, Carl Meyer, Collin Anderson, and Tim Graham for the reviews.
2015-02-05 12:45:08 +07:00
Josh Schneier 7d363ed432 Fixed typos of "select_related" in docs and tests. 2015-02-04 07:31:43 -05:00
Anssi Kääriäinen 8adc59038c Fixed #23617 -- Added get_pk_value_on_save()
The method is mainly intended for use with UUIDField. For UUIDField we
want to call the field's default even when primary key value is
explicitly set to None to match the behavior of AutoField.

Thanks to Marc Tamlyn and Tim Graham for review.
2015-02-03 09:23:44 -05:00
Tim Graham c79faae761 Removed versionadded/changed notes for 1.7. 2015-02-01 21:02:40 -05:00
Loic Bistuer 4c3bfe9053 Fixed #24211 -- Removed ValuesQuerySet() and ValuesListQuerySet().
Thanks Anssi Kääriäinen, Marc Tamlyn, and Tim Graham for the reviews.
2015-01-30 22:02:58 +07:00
Collin Anderson ee23e03637 Fixed #24190 -- Clarified len(queryset) 2015-01-24 10:14:18 -05:00
Tim Graham 33457cd3b0 Removed IPAddressField per deprecation timeline; refs #20439. 2015-01-19 11:12:57 -05:00
Tim Graham 7e8cf74dc7 Removed support for syncing apps without migrations per deprecation timeline.
Kept support for creating models without migrations when running tests
(especially for Django's test suite).
2015-01-18 15:58:06 -05:00
Tim Graham 4aa089a9a9 Removed support for custom SQL per deprecation timeline. 2015-01-17 10:16:06 -05:00
Michał Modzelewski 65246de7b1 Fixed #24031 -- Added CASE expressions to the ORM. 2015-01-12 18:15:34 -05:00
Josh Smeaton 21b858cb67 Fixed #24060 -- Added OrderBy Expressions 2015-01-13 09:39:55 +11:00
Ng Zhi An 8f5d6c77b6 Fixed #23878 -- Moved Query and Prefetch documentation 2015-01-12 11:35:20 -05:00
Anssi Kääriäinen 0c7633178f Fixed #24020 -- Refactored SQL compiler to use expressions
Refactored compiler SELECT, GROUP BY and ORDER BY generation.
While there, also refactored select_related() implementation
(get_cached_row() and get_klass_info() are now gone!).

Made get_db_converters() method work on expressions instead of
internal_type. This allows the backend converters to target
specific expressions if need be.

Added query.context, this can be used to set per-query state.

Also changed the signature of database converters. They now accept
context as an argument.
2015-01-08 14:07:54 -05:00
Daniel Pyrathon fb48eb0581 Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
2015-01-06 19:25:12 -05:00
Florian Apolloner 1ee9507eb3 Fixed a vesionadded directive. 2014-12-29 10:22:19 +01:00
Josh Smeaton 4718296546 Fixed #23753 -- Added a suite of SQL Functions
Added functions and tests
Added docs and more tests
Added TextField converter to mysql backend
Aliased Value as V in example docs and tests
Removed unicode_compatible in example
Fixed console emulation in examples
2014-12-27 15:27:27 +11:00
Helen Sherwood-Taylor 4ccdf6e57f Fixed #24041 -- Documented effect of changing a model instance's primary key. 2014-12-24 15:06:09 -05:00
Marc Tamlyn 5ca82e710e Fixed #24033 -- Use interval type on Oracle.
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than
storing as a NUMBER(19) of microseconds.

There are issues with cx_Oracle which require some extra data
manipulation in the database backend when constructing queries, but it
handles the conversion back to timedelta objects cleanly.

Thanks to Shai for the review.
2014-12-23 10:38:32 +00:00
Marc Tamlyn 57554442fe Fixed #2443 -- Added DurationField.
A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.

Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.

Thanks to Tim and Josh in particular for reviews.
2014-12-20 18:28:29 +00:00
Claude Paroz 0a4b04fc23 Used https for most *.python.org links 2014-12-19 18:07:52 +01:00
Josh Smeaton 267a1dcd9b Fixed #23941 -- Removed implicit decimal formatting from expressions. 2014-12-12 10:17:48 -05:00
Tim Graham 1aa41dd000 Fixed #23974 -- Clarified wording of FileField.save/delete save parameter.
Thanks GreenAsJade.
2014-12-08 13:15:46 -05:00
Jon Dufresne 4468c08d70 Fixed #23968 -- Replaced list comprehension with generators and dict comprehension 2014-12-08 07:58:23 -05:00
Tim Graham 5281d9620d Fixed #23965 -- Mentioned that FieldFile inherits from File 2014-12-06 11:51:32 -05:00
Anssi Kääriäinen c7175fcdfe Fixed #901 -- Added Model.refresh_from_db() method
Thanks to github aliases dbrgn, carljm, slurms, dfunckt, and timgraham
for reviews.
2014-11-28 06:54:00 -05:00
Alasdair Nicol 5b26a014a8 Fixed #23865 -- documented how to assign errors to a field in Model.clean()
Also added a unit test wit the simpler syntax which we have documented,
where the dictionary values are strings.
2014-11-21 13:01:28 -05:00
Michal Petrucha 327df551e8 Fixed #23817 -- Updated docs on QuerySet evaluation
Removed inaccurate info about partial evaluation after refs #18702.
Added information on modifying sliced QuerySets; refs #22503.
2014-11-20 09:33:32 -05:00
Josh Smeaton f61256da3a Renamed qn to compiler 2014-11-16 13:19:34 +01:00
Josh Smeaton f59fd15c49 Fixed #14030 -- Allowed annotations to accept all expressions 2014-11-15 14:00:43 +00:00
Tim Graham 11b7680d0e Fixed #23774 -- Clarified QuerySet.order_by() and related models. 2014-11-12 22:00:48 +01:00
Berker Peksag 5c517ec218 Fixed versionchanged indentation in docs/. 2014-11-03 21:40:26 -05:00
Tim Graham e958c760f9 Fixed #23732 -- Corrected and enhanced select_related() docs.
Thanks Daniele Procida for the report and review.
2014-10-31 15:40:07 -04:00
Raul Cumplido 68d3db8a7b Fixed #23725 -- Substituted AUTH_USER_MODEL for User in docs. 2014-10-30 08:29:18 -04:00
Tim Graham 349471eeb9 Fixed spelling errors in docs. 2014-10-28 10:15:52 -04:00
Thomas Chaumeny 00aa562884 Fixed #23493 -- Added bilateral attribute to Transform 2014-10-28 10:02:10 +02:00
Oliver Meinusch 6b39401baf Fixed QuerySet datetimes argument name in docs. 2014-10-27 19:48:29 -04:00
Jon Dufresne c1b9f99a81 Fixed #23676 -- Rearranged sentence; "by default" applies only to max length 2014-10-18 06:55:11 -04:00
Markus Holtermann 04bd84786d Fixed #23602 -- Add comment on get_absolute_url regarding user input 2014-10-06 19:11:06 +02:00
Marc Tamlyn acdbecda05 Fix formatting error in UUIDField docs. 2014-10-04 12:22:11 +01:00
jnothman 20f868bc5a Added flat=False to signature of QuerySet.values_list() 2014-10-01 13:06:30 -04:00
Matt Robenolt ef5f9b6ae8 Fixed #23460 -- Added literal `%s` support to extra() QuerySets. 2014-09-26 13:01:27 -04:00
Marc Tamlyn ed7821231b Fixed #19463 -- Added UUIDField
Uses native support in postgres, and char(32) on other backends.
2014-09-16 10:08:09 +01:00
Tim Graham 60c38c1a4e Fixed #23281 -- Added "concrete model" to glossary.
Thanks knowledgepoint-devs for the suggestion.
2014-09-08 08:45:47 -04:00
Andrew Godwin 6d504562f5 Fixed #22534: Reinforce swappable documentation 2014-09-05 11:39:55 -07:00
Thomas Chaumeny d7a9659110 Fixed documentation links to Query Expression API. 2014-09-04 09:45:10 -04:00
Marc Tamlyn e9103402c0 Fixed #18757, #14462, #21565 -- Reworked database-python type conversions
Complete rework of translating data values from database

Deprecation of SubfieldBase, removal of resolve_columns and
convert_values in favour of a more general converter based approach and
public API Field.from_db_value(). Now works seamlessly with aggregation,
.values() and raw queries.

Thanks to akaariai in particular for extensive advice and inspiration,
also to shaib, manfre and timograham for their reviews.
2014-09-03 20:36:03 +01:00
Simon Charette 05a8cef428 Corrected a usage example of `related_query_name`.
Thanks to Petr Glotov for spotting this.
2014-08-29 23:10:30 -04:00
Tim Graham c587bd5a94 Fixed #17272 -- Documented that non-editable fields are skipped during model validation.
Thanks mitar for the report.
2014-08-19 07:18:05 -04:00
Tim Graham 5dbe2a9431 Fixed #4991 -- Emphasized XSS ramifications of help_text not being escaped. 2014-08-19 06:16:05 -04:00
areski 2a4492aecb Fixed #23224 - Documented EmailValidator. 2014-08-14 13:28:12 -04:00
Tim Graham fb4f3e04b1 Updated MySQL links to version 5.6. 2014-08-02 10:27:01 -04:00
Christoph Heer d47409831f Fixed #23067 -- Updated docs to use django-admin 2014-07-30 14:14:03 -04:00
Tim Graham 66630f589c Fixed #23134 -- Fixed typos in docs/ref/models/querysets.txt.
Thanks Josh Kupershmidt.
2014-07-30 13:03:54 -04:00
Moayad Mardini 668d432d0a Fixed #22491 -- documented how select_for_update() should be tested.
Thanks Andreas Pelme for the report.
2014-07-28 10:57:12 -04:00
David Hoffman 6d5daa30cf Fixed #22553 -- Added refreshing queryset info to docs. 2014-07-26 10:27:02 -04:00
Tim Graham 5f919b9c81 Fixed #23094 -- Removed redundant argument in select_related() example.
Thanks thegeekofalltrades at gmail.com for the report.
2014-07-24 13:57:00 -04:00
Tim Graham 4e4c10bc61 Removed docs for @permalink decorator.
It's been marked as "not recommended" since 1.6. Anyone still using it
may refer to older versions of the docs.
2014-07-10 17:30:39 -04:00
Jorge C. Leitão e1fa7dffdc Fixed #22809 -- Added model Field API reference.
Thanks to @timgraham for the review.
2014-07-10 06:03:04 -04:00
Anubhav Joshi 011abb7d96 Fixed #19671 -- Added warnings that null and validators are ignored for ManyToManyField.
Thanks Loic Bistuer and Tim Graham for help and review.
2014-07-09 16:01:09 -04:00
Tim Graham 5ebf03b7dd Fixed #22351 -- Removed usage of lambdas in model field options.
Thanks claudep for review.
2014-07-09 07:31:50 -04:00
Jorge C. Leitão 8780849da0 Fixed #22812 -- Refactored lookup API documentation.
Thanks Anssi and Tim for reviews.
2014-07-08 20:05:49 -04:00
Tim Graham 7fd55c3481 Fixed #20631 -- Increased the default EmailField max_length to 254.
Thanks pmartin for the report.
2014-07-04 14:15:00 -04:00
Tim Graham 42f5c8f397 Fixed typo in docs/ref/models/instances.txt 2014-07-02 13:21:34 -04:00
Anssi Kääriäinen 0b6f05ede6 Fixed #19501 -- added Model.from_db() method
The Model.from_db() is intended to be used in cases where customization
of model loading is needed. Reasons can be performance, or adding custom
behavior to the model (for example "dirty field tracking" to issue
automatic update_fields when saving models).

A big thank you to Tim Graham for the review!
2014-07-01 16:31:01 +03:00
Renaud Parent 87d0a3384c Fixed #22778 -- Added a model Meta option to define default_related_name.
Thanks jorgecarleitao and mmardini for reviews.
2014-06-18 13:53:07 -04:00
Jorge C. Leitão de90129070 Fixed #14481 -- Documented implicit "through" class created by ManyToManyField.
Thanks to jonathanmorgan for the report and initial patch.
2014-06-18 12:30:10 -04:00
Tim Graham 95cc0e15b4 Fixed #22819 -- Renamed output_type -> output_field in query expression API.
Thanks jorgecarleitao for the suggestion.
2014-06-17 11:57:16 -04:00
Andrew Godwin 24afb1d7a7 Fixed #22660: Doc'd you can't have unmigrated apps depend on migrated 2014-06-15 11:47:23 -07:00
Claude Paroz dfa3505ff1 Fixed #22813 -- Updated Pillow URL in documentation 2014-06-12 08:53:36 +02:00
Anubhav Joshi 42736ac8e8 Fixed #21430 -- Added a RuntimeWarning when unpickling Models and QuerySets from a different Django version.
Thanks FunkyBob for the suggestion, prasoon2211 for the initial patch,
and akaariai, loic, and charettes for helping in shaping the patch.
2014-06-11 10:03:34 -04:00
Guillaume Pannatier 7f27cca5c5 Fixed #22710 -- Amended aggregation note for empty QuerySets
Thanks smeaton for report and Joël Rochat for spell check
2014-06-04 12:44:58 -04:00
Ryan Nowakowski f39b8867a1 Unicode method on model should return unicode
The example of a __unicode__ model method should return a unicode value
instead of a string.
2014-06-02 22:49:43 -05:00
Guillaume Pannatier 7c6e96ec1f Fixed #22710 -- Documented aggregation behavior for empty QuerySets.
Thanks matklad for the report.
2014-05-30 08:01:21 -04:00
Matthew Schinckel 2b432d4634 Fixed typo in docs/ref/models/custom-lookups.txt. 2014-05-25 19:01:51 -04:00
Aliaksandr Semianiuk 5b185ecc68 Fixed #22019 -- Added Model.objects reference documentation. 2014-05-17 08:32:05 -04:00
Daniel Pyrathon cb15231888 Fixed #21798 -- Added check for DateTime mutually exclusive options
Added DateTimeCheckMixin to avoid the use of default, auto_now, and
auto_now_add options together. Added the fields.E151 Error that is raised
if one or more of these options are used together.
2014-05-16 05:57:19 -04:00
Éric Araujo 5ab95168cc Fix typo that disabled code example highlighting 2014-05-14 18:34:59 -04:00
Simon Charette 24ec9538b7 Fixed #19195 -- Allow explicit ordering by a relation `_id` field.
Thanks to chrisedgemon for the report and shaib, akaariai and
timgraham for the review.
2014-04-30 14:23:19 -04:00
Mike Fogel 7fd1b35ed7 Fixed #22537 -- Add tests and improved docs for field subclass with choices. 2014-04-30 07:56:52 -04:00
Moayad Mardini 3776926cfe Fixed #22493 - Added warnings to raw() and extra() docs about SQL injection
Thanks Erik Romijn for the suggestion.
2014-04-25 09:54:49 -04:00
Erik Romijn 75c0d4ea3a Fixed queries that may return unexpected results on MySQL due to typecasting.
This is a security fix; disclosure to follow shortly.
2014-04-21 18:11:26 -04:00
Tim Graham b43bbd6d39 Fixed #22473 -- Emphasized that Model.clean() is not called from Model.save(). 2014-04-18 15:00:26 -04:00
chriscauley 66ec9ee441 Fixed #22378 -- Updated \d to [0-9]+ in urlpatterns of docs and tests.
Thanks tomwys for the suggestion.
2014-04-16 20:36:29 -04:00
Shai Berger 59b1d3098f Documentation fixes for the select_for_update change.
Refs #22343; thanks Tim Graham for the fixes.
2014-04-10 03:40:33 +03:00
Shai Berger f095356ba2 Fixed #22343 -- Disallowed select_for_update in autocommit mode
The ticket was originally about two failing tests, which are
fixed by putting their queries in transactions.

Thanks Tim Graham for the report, Aymeric Augustin for the fix,
and Simon Charette, Tim Graham & Loïc Bistuer for review.
2014-04-10 03:04:51 +03:00
Anubhav Joshi 36de29200e Fixed #22405 -- Fixed string error in models/queries docs. 2014-04-08 13:33:40 +02:00
Tim Graham 51c8045145 Removed versionadded/changed annotations for 1.6. 2014-03-24 11:42:56 -04:00
Adam Kaliński ec08d62a20 Fixed #22048 - Enhanced docs to cover nonexistent one-to-one relationships.
Thanks EvilDMP for the suggestion.
2014-03-24 09:41:04 -04:00
Claude Paroz 3a97f992fb Fixed #22313 -- Removed 'u' prefixes from documentation 2014-03-22 21:32:20 +01:00
Tim Graham 4965a77407 Removed PIL compatability layer per deprecation timeline.
refs #19934.
2014-03-21 10:54:53 -04:00
Bryan Helmig f2eea960e0 Fixed minor syntax error in Queryset docs 2014-03-21 11:02:15 +01:00
Akis Kesoglou aaad3e27ac Fixed #22217 - ManyToManyField.through_fields fixes.
- Docs description of arguments mix up.
- Keep it from erroneously masking E332 check.
- Add checks E338 and E339, tweak message of E337.
2014-03-11 19:33:04 -03:00
Anssi Kääriäinen 219d928852 Fixed #21863 -- supplemented get_lookup() with get_transform()
Also fixed #22124 -- Expanded explanation of exactly what is going on in
as_sql() methods.
2014-03-07 14:52:13 +00:00
Akis Kesoglou c627da0ccc Fixed #14549 - Removed restriction of single FKs on intermediary tables
Thanks to Loic Bistuer for review. Minor changes to error messages
done by committer.
2014-03-05 22:33:58 +02:00
Chris Wilson 95c74b9d69 Fixed #22206 -- Passed models.TextField.max_length to forms.CharField.maxlength 2014-03-05 20:09:28 +01:00
Loic Bistuer 7bbb6958dc Allowed custom querysets when prefetching single valued relations
The original patch for custom prefetches didn't allow usage of custom
queryset for single valued relations (along ForeignKey or OneToOneKey).
Allowing these enables calling performance oriented queryset methods like
select_related or defer/only.

Thanks @akaariai and @timgraham for the reviews. Refs #17001.
2014-03-03 21:35:19 +02:00
Anubhav Joshi bb2ca9fe6c Fixed #22172 -- Allowed index_together to be a single list (rather than list of lists)..
Thanks EmilStenstrom for the suggestion.
2014-03-01 15:44:42 -05:00
Tim Graham 1f5f015c32 Fixed spelling mistakes in docs. 2014-02-28 21:03:46 -05:00
Tim Graham 7f2505ad9e Fixed doc typos. 2014-02-28 11:44:03 -05:00
navneet suman 3390550f6f Fixed #22145 -- Clarified docs on Field.blank and Field.null options.
Thanks skipjack at peru.com for the suggestion.
2014-02-25 20:59:34 -05:00
Szczepan Cieślik e816198034 Fixed docs typos. 2014-02-25 10:28:32 -05:00
Artur Frysiak faf6a911ad Fixed #22023 -- Raised an error for values() followed by defer() or only().
Previously, doing so resulted in invalid data or crash.

Thanks jtiai for the report and Karol Jochelson,
Jakub Nowak, Loic Bistuer, and Baptiste Mispelon for reviews.
2014-02-17 14:46:13 -05:00
chomik 985ae732b2 Fixed #21884 -- Mentioned that exact is the defaut QuerySet lookup type
Thanks to cjerdonek for the suggestion.
2014-02-15 17:17:58 +01:00
Alasdair Nicol 8aa1efff6d Fixed #21951 -- Updated docs to use __str__ for Python 3
Thanks Tim Graham for the report and recommendations
2014-02-13 07:12:40 -05:00
Christopher Adams eefc88feef Fixed #2445 -- Allowed limit_choices_to attribute to be a callable.
ForeignKey or ManyToManyField attribute ``limit_choices_to`` can now
be a callable that returns either a ``Q`` object or a dict.

Thanks michael at actrix.gen.nz for the original suggestion.
2014-02-11 14:05:12 -05:00
Claude Paroz 95ede98e60 Removed double word in model docs 2014-02-09 20:30:34 +01:00
Claude Paroz fcc21837dc Removed extra backquote in field docs 2014-02-08 14:20:56 +01:00
Loic Bistuer 8847a0c601 Fixed #16192 -- Made unique error messages in ModelForm customizable.
Overriding the error messages now works for both unique fields, unique_together
and unique_for_date.

This patch changed the overriding logic to allow customizing NON_FIELD_ERRORS
since previously only fields' errors were customizable.

Refs #20199.

Thanks leahculver for the suggestion.
2014-02-08 04:59:09 -05:00
Simon Charette 10e3faf191 Fixed #19774 -- Deprecated the contenttypes.generic module.
It contained models, forms and admin objects causing undesirable
import side effects. Refs #16368.

Thanks to Ramiro, Carl and Loïc for the review.
2014-01-26 14:42:30 -05:00
Marc Tamlyn 16f3a6a4c7 Fixed #21865 -- Incorrect signs in documented example.
Maths is hard.
2014-01-23 20:32:24 +00:00
Baptiste Mispelon d7ce48f175 Fixed #21864 -- Fixed missing quote in custom lookup example.
Thanks to Chris Barna for the report.
2014-01-23 16:13:20 +01:00
Tim Graham 81830ce34f Fixed some punctuation; thanks Chris Jerdonek. 2014-01-23 09:01:26 -05:00
Andrew Godwin c9de1b4a55 Implement swappable model support for migrations 2014-01-19 16:43:12 +00:00
Anssi Kääriäinen 4dc3be2506 Fixed typos spotted by Claude Paroz 2014-01-18 22:31:35 +02:00
Anssi Kääriäinen 20bab2cf9d Fixed #16187 -- refactored ORM lookup system
Allowed users to specify which lookups or transforms ("nested lookus")
are available for fields. The implementation is now class based.

Squashed commit of the following:

commit fa7a7195f1
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 18 10:53:24 2014 +0200

    Added lookup registration API docs

commit eb1c8ce164
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Tue Jan 14 18:59:36 2014 +0200

    Release notes and other minor docs changes

commit 11501c29c9
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Jan 12 20:53:03 2014 +0200

    Forgot to add custom_lookups tests in prev commit

commit 83173b960e
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Jan 12 19:59:12 2014 +0200

    Renamed Extract -> Transform

commit 3b18d9f3a1
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Jan 12 19:51:53 2014 +0200

    Removed suggestion of temporary lookup registration from docs

commit 21d0c7631c
Merge: 2509006 f2dc442
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Jan 12 09:38:23 2014 -0800

    Merge pull request #2 from mjtamlyn/lookups_3

    Reworked custom lookups docs.

commit f2dc4429a1
Author: Marc Tamlyn <marc.tamlyn@gmail.com>
Date:   Sun Jan 12 13:15:05 2014 +0000

    Reworked custom lookups docs.

    Mostly just formatting and rewording, but also replaced the example
    using ``YearExtract`` to  use an example which is unlikely to ever be
    possible directly in the ORM.

commit 2509006506
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Jan 12 13:19:13 2014 +0200

    Removed unused import

commit 4fba5dfaa0
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 22:34:41 2014 +0200

    Added docs to index

commit 6d53963f37
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 22:10:24 2014 +0200

    Dead code removal

commit f9cc039007
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 19:00:43 2014 +0200

    A new try for docs

commit 33aa18a6e3
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 14:57:12 2014 +0200

    Renamed get_cols to get_group_by_cols

commit c7d5f8661b
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 14:45:53 2014 +0200

    Altered query string customization for backends vendors

    The new way is trying to call first method 'as_' + connection.vendor.
    If that doesn't exist, then call as_sql().

    Also altered how lookup registration is done. There is now
    RegisterLookupMixin class that is used by Field, Extract and
    sql.Aggregate. This allows one to register lookups for extracts and
    aggregates in the same way lookup registration is done for fields.

commit 90e7004ec1
Merge: 66649ff f7c2c0a
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 13:21:01 2014 +0200

    Merge branch 'master' into lookups_3

commit 66649ff891
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Jan 11 13:16:01 2014 +0200

    Some rewording in docs

commit 31b8faa627
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 29 15:52:29 2013 +0200

    Cleanup based on review comments

commit 1016159f34
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 28 18:37:04 2013 +0200

    Proof-of-concept fix for #16731

    Implemented only for SQLite and PostgreSQL, and only for startswith
    and istartswith lookups.

commit 193cd097ca
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 28 17:57:58 2013 +0200

    Fixed #11722 -- iexact=F() produced invalid SQL

commit 08ed3c3b49
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 21 23:59:52 2013 +0200

    Made Lookup and Extract available from django.db.models

commit b99c8d83c9
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 21 23:06:29 2013 +0200

    Fixed review notes by Loic

commit 049eebc070
Merge: ed8fab7 b80a835
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 21 22:53:10 2013 +0200

    Merge branch 'master' into lookups_3

    Conflicts:
    	django/db/models/fields/__init__.py
    	django/db/models/sql/compiler.py
    	django/db/models/sql/query.py
    	tests/null_queries/tests.py

commit ed8fab7fe8
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Dec 21 22:47:23 2013 +0200

    Made Extracts aware of full lookup path

commit 27a57b7aed
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 1 21:10:11 2013 +0200

    Removed debugger import

commit 074e0f5aca
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 1 21:02:16 2013 +0200

    GIS lookup support added

commit 760e28e72b
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 1 20:04:31 2013 +0200

    Removed usage of Constraint, used Lookup instead

commit eac4776684
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 1 02:22:30 2013 +0200

    Minor cleanup of Lookup API

commit 2adf50428d
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sun Dec 1 02:14:19 2013 +0200

    Added documentation, polished implementation

commit 32c04357a8
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Nov 30 23:10:15 2013 +0200

    Avoid OrderedDict creation on lookup aggregate check

commit 7c8b3a32cc
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Sat Nov 30 23:04:34 2013 +0200

    Implemented nested lookups

    But there is no support of using lookups outside filtering yet.

commit 4d219d4cde
Author: Anssi Kääriäinen <akaariai@gmail.com>
Date:   Wed Nov 27 22:07:30 2013 +0200

    Initial implementation of custom lookups
2014-01-18 11:46:19 +02:00
Tim Graham 9173d2cb74 Fixed #18285 -- Documented that bulk_create doesn't work with M2M relationships. 2014-01-16 20:47:02 -05:00
Tim Graham a6e3fb80b0 Fixed #21343 -- Noted many-to-many restrictions with intermediate model.
Thanks EvilDMP for the report.
2014-01-16 08:38:40 -05:00
Aymeric Augustin 1386075f62 Updated release notes on app_label.
Django determines automatically which application models belong to,
provided the application can be imported without importing models.
2014-01-01 19:45:43 +01:00
Kevin Christopher Henry d34c8c338a Fixed #21632 -- Docs: Removed example with callable as query parameter
Using callables as query parameters is undocumented and not working,
so this changes an example from the ForeignKey.limit_choices_to
documentation that uses it.
2013-12-18 12:37:11 -05:00
Denis Moskalets d4e578d0f6 Fixed #21552 -- Allowed the use of None for the iexact lookup.
Thanks Anubhav Joshi for the documentation.
2013-12-18 09:34:53 -05:00
Andrew Godwin dfc95d240d Fix docs typo 2013-12-15 12:11:02 +00:00
Loic Bistuer f450bc9f44 Added a bulk option to RelatedManager remove() and clear() methods
Refs #21169
2013-11-27 19:45:22 +02:00
Loic Bistuer 17c3997f68 Fixed #21169 -- Reworked RelatedManager methods use default filtering
The `remove()` and `clear()` methods of the related managers created by
`ForeignKey`, `GenericForeignKey`, and `ManyToManyField` suffered from a
number of issues. Some operations ran multiple data modifying queries without
wrapping them in a transaction, and some operations didn't respect default
filtering when it was present (i.e. when the default manager on the related
model implemented a custom `get_queryset()`).

Fixing the issues introduced some backward incompatible changes:

- The implementation of `remove()` for `ForeignKey` related managers changed
  from a series of `Model.save()` calls to a single `QuerySet.update()` call.
  The change means that `pre_save` and `post_save` signals aren't called anymore.

- The `remove()` and `clear()` methods for `GenericForeignKey` related
  managers now perform bulk delete so `Model.delete()` isn't called anymore.

- The `remove()` and `clear()` methods for `ManyToManyField` related
  managers perform nested queries when filtering is involved, which may
  or may not be an issue depending on the database and the data itself.

Refs. #3871, #21174.

Thanks Anssi Kääriäinen and Tim Graham for the reviews.
2013-11-27 19:44:18 +02:00
Alex Gaynor bb5ab908cc Fixed a typo in the documentation 2013-11-26 13:49:54 -06:00
Ludwik Trammer 70e61310d6 Fixed #21507 -- Corrected default widget information for FileField 2013-11-25 08:26:10 -05:00
Thomas Orozco 957d22b850 Add missing commas in Prefetch docs 2013-11-23 23:48:34 +01:00
Loic Bistuer 82a58ce5b6 Fixed #21491 -- Removed documented workaround for a known issue.
The issue was that two M2M hidden reverse managers
(related_name ending with a '+') could clash with each other.

Refs #21375 and #15932. Thanks Baptiste.
2013-11-23 01:29:09 +07:00
Loic Bistuer 27f04e79b1 Fixed #21479 -- Favor 'migrate' over 'syncdb' in the docs. 2013-11-21 15:12:39 +01:00
Markus Amalthea Magnuson b6a6cf4ab7 Fixed #21427 -- Clearly state integer field value ranges in docs
Added an explicit mention of the exact value ranges for integer type
fields that are safe in all databases supported by Django. Also, put
all value numbers inside double ticks.
2013-11-21 14:15:23 +01:00
Loic Bistuer f51c1f5900 Fixed #17001 -- Custom querysets for prefetch_related.
This patch introduces the Prefetch object which allows customizing prefetch
operations.

This enables things like filtering prefetched relations, calling select_related
from a prefetched relation, or prefetching the same relation multiple times
with different querysets.

When a Prefetch instance specifies a to_attr argument, the result is stored
in a list rather than a QuerySet. This has the fortunate consequence of being
significantly faster. The preformance improvement is due to the fact that we
save the costly creation of a QuerySet instance.

Thanks @akaariai for the original patch and @bmispelon and @timgraham
for the reviews.
2013-11-07 14:49:49 +02:00
Baptiste Mispelon 366bdc4566 Fixed typos in documentation. 2013-11-06 10:47:07 +01:00
Tim Graham ffcfb4cdcc Fixed #21344 -- Typo in docs/ref/models/queries.txt 2013-10-28 14:52:26 -04:00
Shai Berger 317040a73b Fixed #13245: Explained Oracle's behavior w.r.t db_table
and how to prevent table-name truncation

Thanks russellm & timo for discussion, and timo for review.
2013-10-23 14:51:22 +03:00
Florian Hahn 5240b83462 Fixed #17027 -- Added support for the power operator in F expressions.
Thanks dan at dlo.me for the initial patch.

- Added __pow__ and __rpow__ to ExpressionNode
- Added oracle and mysql specific power expressions
- Added used-defined power function for sqlite
2013-10-22 10:29:57 -04:00
Juergen Schackmann f8632572ad Fixed #21212 -- Documented the reverse name for OneToOneField.
Thanks bjb at credil.org for the report.
2013-10-18 16:19:05 -04:00
Marc Tamlyn 349c12d3f5 Fixed #16855 -- select_related() chains as expected.
select_related('foo').select_related('bar') is now equivalent to
select_related('foo', 'bar').

Also reworded docs to recommend select_related(*fields) over select_related()
2013-10-15 15:59:36 +01:00
Tim Graham 945e033a69 Fixed #8918 -- Made FileField.upload_to optional.
Thanks leahculver for the suggestion and dc and vajrasky for work
on the patch.
2013-10-11 08:07:25 -04:00
Tim Graham 1dae4ac177 Whitespace cleanup.
* Removed trailing whitespace.
* Added newline to EOF if missing.
* Removed blank lines at EOF.
* Removed some stray tabs.
2013-10-10 16:49:20 -04:00
Tim Graham 75bb6ba966 Fixed #10913 -- Documented how related_name affects QuerySet filtering
Thanks neithere for the suggestion.
2013-10-02 12:12:53 -04:00
Erik Romijn 1a63092981 Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00