summaryrefslogtreecommitdiff
path: root/django/db/models/query.py
AgeCommit message (Collapse)Author
2008-09-01Fixed #8115: avoid a infiniate loop when collecting related objects for ↵Jacob Kaplan-Moss
deletion. I can't reproduce the original error leading to #8115 and the patch. However, the only harm this change could cause is to raise more `CyclicDependency` exceptions than strictly necessary. That's better than infinite loops, at least, and it's easier to clean up in the future when we figure out the actual fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8807 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-29Fixed a typo from the refactoring in [8455]. With bonus test, too. Thanks, vung.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8724 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-28Changed create() and get_or_create() to force an insert (not update an ↵Malcolm Tredinnick
existing value). Backwards incompatible if you are using manually-specific primary key values and relying on the previously documented behaviour that the new values would always exist in the database (i.e. it would update the existing entry). Fixed #8419. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8670 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-26Fixed #8036 -- Fixed a case when attempting to traverse non-existent relatedMalcolm Tredinnick
instances. We weren't skipping the correct output columns before processing subsequent existing related instances. Thanks to mrmachine for the test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8598 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-23Removed a relatively pointless QuerySet clone introduced in [8472].Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8499 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-22Fixed #8046 -- The first filter() call on a related manager for many-to-manyMalcolm Tredinnick
fields no longer creates duplicate copies of the join table(s). Basically, this means filters on the join table (for ManyToManyField(through=...)) and complex filters in the normal (non-through) case don't produce incorrect or duplicate results. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8472 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-20Made it possible to pickle DateQuerySets.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8455 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed #6970 -- Raise the original `IntegrityError` when all required fields ↵Gary Wilson Jr
aren't specified in `get_or_create` instead of a misleading `DoesNotExist` error, thanks deadwisdom. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8398 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed Oracle backend test case failure in modeltests\lookup.Matt Boersma
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8355 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Added savepoint protection to get_or_create() to avoid problems on PostgreSQL.Malcolm Tredinnick
Fixed #7402. Also made savepoint handling easier to use when wrapped around calls that might commit a transaction. This is tested by the get_or_create tests. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8315 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-09Added the ability to force an SQL insert (or force an update) via a model'sMalcolm Tredinnick
save() method. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8267 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-06Major refactoring of django.dispatch with an eye towards speed. The net ↵Jacob Kaplan-Moss
result is that signals are up to 90% faster. Though some attempts and backwards-compatibility were made, speed trumped compatibility. Thus, as usual, check BackwardsIncompatibleChanges for the complete list of backwards-incompatible changes. Thanks to Jeremy Dunck and Keith Busell for the bulk of the work; some ideas from Brian Herring's previous work (refs #4561) were incorporated. Documentation is, sigh, still forthcoming. Fixes #6814 and #3951 (with the new dispatch_uid argument to connect). git-svn-id: http://code.djangoproject.com/svn/django/trunk@8223 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-03Removed unused warnings import that should have been removed in [8191], refs ↵Gary Wilson Jr
#7830. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8199 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-02Removed several deprecated features for 1.0 (refs #7830):Gary Wilson Jr
* "simple" cache backend * `ObjectPaginator` * `edit_inline_type` argument for `ForeignKey` fields * `QOperator`, `QNot`, `QAnd` and `QOr` * `maxlength` argument git-svn-id: http://code.djangoproject.com/svn/django/trunk@8191 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-28Fixed #7853 -- Fixed another case of deleting inherited models with foreign keyMalcolm Tredinnick
references. Thanks to Russell for the test case that demonstrated the problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8128 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-27Fixed #7778 -- Fixed a tricky case of foreign key clearing with inheritedMalcolm Tredinnick
models. Patch from James Murty. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8100 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-27Fixed #7530, #7716 -- When using select_related() and encountering a NULLMalcolm Tredinnick
related object, populate the attribute correctly. Patch from Bastien Kleineidam. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8098 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-16Fixed #7759 -- Fixed QuerySet.count() when the results cache was only partiallyMalcolm Tredinnick
populated. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7938 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-13Re-organized imports, removing a couple that were unused.Gary Wilson Jr
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7912 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-13Added a docstring to CyclicDependency exception class.Gary Wilson Jr
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7911 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-12Fixed #7734 -- Fixed a Python 2.3 compatibility problem.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7910 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-08Fixed a couple typos as well as several minor style issues.Gary Wilson Jr
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7871 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-29Factored out a semi-complex if-test that was used in two places.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7782 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-26Fixed #7312 -- Fixed handling of custom Q-like objects in ↵Malcolm Tredinnick
QuerySet.custom_filter(). This is pretty much internal-use-only code, so doesn't affect public API at all, but it's nice to be able to handle things properly in any case. Patch from emulbreh. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7766 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-26EmptyQuerySet classes can now be merged with normal querysets.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7765 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-26Fixed #7105 -- Fixed dates() queries in light of model inheritance.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7763 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-26Removed the bulk of the sanity checking when merging QuerySets.Malcolm Tredinnick
It was causing too many inconvenient and unintended problems when merging legitimate subclasses (e.g. with geo-django classes). There's still a hook there that we use when merging ValueQuerySets, but if you try to merge two disparate QuerySets and it breaks all that happens is you get to keep both pieces. We're no longer penalising the useful usages just for the people who aren't concentrating. Fixed #7113. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7742 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-25Fixed #7155 -- Corrected DateQuerySet to handle nullable fields. Thanks to ↵Russell Keith-Magee
fcaprioli@alice.it for the original report and patch, and to Jeremy Dunck for the test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7739 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-21Fixed bug with Model.delete() which did not always delete objects in the ↵Luke Plant
right order. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7722 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-15Fixed #7256 -- Corrected queryset code to return the correct set of columns ↵Russell Keith-Magee
when the query has an empty values() clause as well as extra selects from an extra() clause. Thanks to Nicolas Lara for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7636 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-06-09Fixed #7298: prevent update() on sliced QuerySet since UPDATE doesn't ↵Jacob Kaplan-Moss
reliably support LIMIT/OFFSET. Thanks, George Vilches. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7601 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-04-29Undo [7474]. I didn't think it through nearly carefully enough.Malcolm Tredinnick
This means that all model construction now goes through the __init__() method again. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7504 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-04-28Added the ability to pickle and unpickle QuerySets and Query classes.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7499 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-04-28ValuesQuerySets (and subclasses) were inadvertently not caching their results.Malcolm Tredinnick
Fixed. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7497 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-04-28Fixed a bug with the new QuerySet update() method where it wasn't committing ↵Adrian Holovaty
the transaction (on Postgres, at least) git-svn-id: http://code.djangoproject.com/svn/django/trunk@7487 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-04-27Merged the queryset-refactor branch into trunk.Malcolm Tredinnick
This is a big internal change, but mostly backwards compatible with existing code. Also adds a couple of new features. Fixed #245, #1050, #1656, #1801, #2076, #2091, #2150, #2253, #2306, #2400, #2430, #2482, #2496, #2676, #2737, #2874, #2902, #2939, #3037, #3141, #3288, #3440, #3592, #3739, #4088, #4260, #4289, #4306, #4358, #4464, #4510, #4858, #5012, #5020, #5261, #5295, #5321, #5324, #5325, #5555, #5707, #5796, #5817, #5987, #6018, #6074, #6088, #6154, #6177, #6180, #6203, #6658 git-svn-id: http://code.djangoproject.com/svn/django/trunk@7477 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-03-18Fixed #6641 -- If we lose a race when creating a new object in get_or_create,Malcolm Tredinnick
re-get the result from the database and return that. Thanks, Jeff Guinness and Timothée Peignier. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7289 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-02Fixed #3511 -- Changed QuerySet.get() to return a MultipleObjectsReturned ↵Malcolm Tredinnick
exception, rather than an assertion error. Thanks, Gary Wilson and cheeming. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6838 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-24Fixed #5559: instances sent via post-save signals no longer have pks of ↵Jacob Kaplan-Moss
None. Thanks, Joseph Kocherhans. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6411 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-09-14Fixed #5226. Now we check the Oracle version and give an explicit Matt Boersma
error when we encounter a regex operator that isn't supported on 9i or earlier. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6198 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored OPERATOR_MAPPING so that it exists as ↵Adrian Holovaty
django.db.connection.operators instead of django.db.backend.OPERATOR_MAPPING. Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5982 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_field_cast_sql() to DatabaseOperations.field_cast_sql(). Refs ↵Adrian Holovaty
#5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5977 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_query_set_class() to DatabaseOperations.query_set_class(). ↵Adrian Holovaty
Also added BaseDatabaseFeatures.uses_custom_queryset. Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5976 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Implemented BaseDatabaseFeatures and changed all code to access it -- ↵Adrian Holovaty
connection.features.foo instead of backend.foo git-svn-id: http://code.djangoproject.com/svn/django/trunk@5974 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored quote_name() to DatabaseOperations.quote_name(). Refs #5106Adrian Holovaty
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-20Refactored get_random_function_sql() to ↵Adrian Holovaty
DatabaseOperations.random_function_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5962 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_limit_offset_sql() to DatabaseOperations.limit_offset_sql(). ↵Adrian Holovaty
Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5959 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_fulltext_search_sql() to ↵Adrian Holovaty
DatabaseOperations.fulltext_search_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5957 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_datetime_cast_sql() to ↵Adrian Holovaty
DatabaseOperations.datetime_cast_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5953 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-08-19Refactored get_date_trunc_sql() to DatabaseOperations.date_trunc_sql(). Refs ↵Adrian Holovaty
#5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5952 bcc190cf-cafb-0310-a4f2-bffc1f526a37