Tim Graham
67732a9b18
Fixed #24687 -- Added select_related() validation for nested non-relational fields.
...
The removed test was added in the original select_related() validation
patch (45d4e43d2d
), but there doesn't
seem to be any reason for it.
Thanks Claude Paroz for help and review.
2015-10-10 09:48:50 -04:00
Tim Graham
384ddbec1b
Fixed #14368 -- Allowed setting a reverse OneToOne relation to None.
2015-10-09 10:20:53 -04:00
Mariusz Felisiak
914167abf1
Fixed #25503 -- Fixed system check crash on ForeignKey to abstract model.
2015-10-06 19:22:37 -04:00
Tim Graham
e0837f2cb1
Fixed #25508 -- Modified QuerySet.__repr__() to disambiguate it from a list.
2015-10-06 12:38:34 -04:00
Tim Graham
ea8e7fd989
Removed obsolete (since Python 2.3) __safe_for_unpickling__ attribute.
2015-10-05 08:07:27 -04:00
Tim Graham
9f6b704769
Fixed #21042 -- Allowed accessing FileDescriptor on the model class.
...
This is consistent with ability to reference other descriptors
on the model class (5ef0c03ae9
).
2015-10-01 15:19:39 -04:00
Tim Graham
1f84721fac
Removed unused Aggregate.input_field.
...
Obsolete since 4a66a69239
.
2015-09-24 09:15:56 -04:00
Tim Graham
a780505f3a
Refs #14030 -- Removed more backwards compatiblity for old-style aggregates.
...
Per deprecation timeline.
2015-09-24 09:15:55 -04:00
Tim Graham
96317ad8de
Refs #21414 -- Removed Field.related per deprecation timeline.
2015-09-23 19:31:10 -04:00
Tim Graham
fd6a299cd0
Refs #14030 -- Removed backwards compatiblity for old-style aggregates.
...
Per deprecation timeline.
2015-09-23 19:31:10 -04:00
Tim Graham
1bb6ecf6d3
Refs #9893 -- Removed shims for lack of max_length support in file storage per deprecation timeline.
2015-09-23 19:31:10 -04:00
Tim Graham
3f50dc2be5
Removed SQLCompiler.__call__() per deprecation timeline.
2015-09-23 19:31:09 -04:00
Tim Graham
c64dd646f5
Refs #12663 -- Removed deprecated Model._meta methods.
2015-09-23 19:31:09 -04:00
Tim Graham
08ab262649
Removed SubfieldBase per deprecation timeline.
2015-09-23 19:31:09 -04:00
Alex Hill
134ca4d438
Fixed #24509 -- Added Expression support to SQLInsertCompiler
2015-09-22 23:35:24 +10:00
Aymeric Augustin
361254810e
Documented "rel objects".
...
Kept the docstring short because these objects aren't very well defined
and they're in the crosshairs of several refactorings.
2015-09-21 22:20:42 +02:00
Aymeric Augustin
e542e81b39
Renamed descriptor classes for related objects.
...
The old names were downright confusing. Some seemed to mean the opposite
of what the class actually did.
The new names follow a consistent nomenclature:
(Forward|Reverse)(ManyToOne|OneToOne|ManyToMany)Descriptor.
I mentioned combinations that do not exist in the docstring in order to
help people who would search for them in the code base.
2015-09-21 22:20:42 +02:00
Aymeric Augustin
2409a4241a
Added comments in related instances descriptors.
2015-09-21 22:06:04 +02:00
Aymeric Augustin
497d915299
Documented related models descriptors.
...
Changed the poll / choices example to a more obvious parent / children.
I think that reduces the cognitive load.
2015-09-21 22:06:03 +02:00
Aymeric Augustin
005c9fc45f
Fixed #22341 -- Split django.db.models.fields.related.
...
At 2800 lines it was the largest module in the django package. This
commit brings it down to a more manageable 1620 lines.
Very small changes were performed to uniformize import style.
2015-09-21 22:05:30 +02:00
Josh Smeaton
534aaf56f4
Fixed #24629 -- Unified Transform and Expression APIs
2015-09-21 19:56:24 +10:00
Raphael Merx
f5a33e4840
Fixed #25296 -- Prevented model related object cache pollution when create() fails due to an unsaved object.
2015-09-19 20:49:13 -04:00
Aymeric Augustin
c3904deb91
Fixed #25160 (again) -- Moved data loss check on reverse relations.
...
Moved data loss check when assigning to a reverse one-to-one relation on
an unsaved instance to Model.save(). This is exactly the same change as
e4b813c
but for reverse relations.
2015-09-19 20:27:53 +02:00
Simon Charette
71ebcb85b9
Fixed #25417 -- Added a field check for invalid default values.
2015-09-18 14:31:36 -04:00
Iulia Chiriac
75ed590032
Fixed #24636 -- Added model field validation for decimal places and max digits.
2015-09-18 14:30:20 -04:00
Simon Charette
4d886db078
Removed the unused JoinPromoter.outer_votes attribute.
2015-09-17 13:47:06 -04:00
Adam Chainz
3fe3887a2e
Fixed #25377 -- Changed Count queries to execute COUNT(*) instead of COUNT('*').
2015-09-14 13:41:35 -04:00
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -04:00
Nick Pope
1743efbe62
Fixed typos in django/db/models/query.py docstrings.
2015-09-07 15:47:02 -04:00
Tim Graham
2dc9ec5616
Fixed #24525 -- Fixed AssertionError in some complex queries.
...
Thanks Anssi Kääriäinen for providing the solution.
2015-09-05 07:51:17 -04:00
Tim Graham
233b46f931
Fixed #19263 -- Fixed crash when filtering using __in and an empty QuerySet.
...
Thanks Marcin Biernat for the initial patch and tests.
2015-09-04 07:44:36 -04:00
sarthakmeh
40bf18e702
Fixed #25058 -- Added GenericRelations with related_query_name to the admin's delete confirmation page.
2015-09-03 10:08:51 -04:00
Gavin Wahl
627c7eb7bf
Fixed #25335 -- Fixed regression where QuerySet.iterator() didn't return an iterator.
2015-09-03 07:35:22 -04:00
Tim Graham
0e925de245
Removed obsolete TODO about moving CommaSeparatedIntegerField into contrib.
2015-09-01 09:13:20 -04:00
Tim Graham
064d4b1cb0
Fixed #25320 -- Reverted ManyToManyField.null to False for backwards compatibility.
...
Thanks Tom Christie for the report and review.
2015-09-01 07:59:39 -04:00
Maxime Lorant
5153a3bfdc
Fixed #25331 -- Removed trailing blank lines in docstrings.
2015-08-31 17:37:21 -04:00
Y3K
cbcf78fa94
Fixed #25252 -- Added friendly error message on incorrect .select_related() use
...
Using select_related() after .values() or .values_list() is not possible
because .values() or .values_list() already got the values they need.
2015-08-31 15:13:59 +10:00
Alex Hill
7bec480fe2
Fixed #24201 -- Added order_with_respect_to support to GenericForeignKey.
2015-08-27 09:20:17 -04:00
Markus Holtermann
e1427cc609
Fixed #24590 -- Cached calls to swappable_setting.
...
Moved the lookup in Field.swappable_setting to Apps, and added
an lru_cache to cache the results.
Refs #24743
Thanks Marten Kenbeek for the initial work on the patch. Thanks Aymeric
Augustin and Tim Graham for the review.
2015-08-27 17:06:21 +10:00
sarthakmeh
4bc00defd0
Fixed #14217 -- Added validation for field name collision when using model inheritance.
2015-08-25 16:16:54 -04:00
Tim Graham
333cbdcd2d
Fixed #24951 -- Fixed AssertionError in delete queries involving a foreign/primary key.
...
Thanks Anssi Kääriäinen for help.
2015-08-20 08:14:16 -04:00
Valentina Mukhamedzhanova
1f7b25c1a7
Fixed #24986 -- Added support for annotations in DISTINCT queries.
2015-08-15 08:23:32 -04:00
Alex Hill
98bcdfa8bd
Fixed #25064 -- Allowed empty join columns.
2015-08-15 07:26:44 -04:00
Valentina Mukhamedzhanova
6bd7ee4eab
Made Options.get_base_chain() always return a list.
2015-08-14 13:15:31 -04:00
Ion Scerbatiuc
0cc059cd10
Fixed #25172 -- Fixed check framework to work with multiple databases.
2015-08-12 18:00:26 -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
Tim Graham
770449e24b
Removed unused Field.get_flatchoices() method.
...
Unused since c2ba59fc1d
(Django 1.0).
Thanks Andy Baker for the report.
2015-08-03 13:08:24 -04:00
risicle
5d60d2b457
Adjusted SQLCompiler.get_order_by()'s docstring return value.
2015-07-28 10:49:26 -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
Mitchell Kotler
6024fd5dc2
Fixed #25095 -- Fixed annotate() + values() group by bug
...
Thanks Josh Smeaton for help on the tests.
2015-07-27 07:44:48 -04:00
Matt Johnson
e063ac2fae
Fixed #12768 -- Fixed QuerySet.raw() regression on FK with custom db_column.
2015-07-23 18:07:38 -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
Thomas Stephenson
035b0fa60d
Fixed #24716 -- Deprecated Field._get_val_from_obj()
...
The method duplicates the functionality of Field.value_from_object()
and has the additional downside of being a privately named public
API method.
2015-07-14 09:13:22 -04:00
Anssi Kääriäinen
6f403056f0
Fixed #24923 -- errored out nicely when using aggregates in order_by()
2015-07-13 08:36:25 -04:00
Simon Charette
07577a2d05
Fixed #25081 -- Prevented DISTINCT ON ordering from being cleared in get().
...
Thanks to pdewacht for the patch.
2015-07-09 16:00:52 -04:00
Chris Lamb
61f3e22e38
Fixed #25054 -- Added app_label to swapped model AttributeError
2015-07-02 14:18:10 -04:00
William Schwartz
9a5cfa05a0
Fixed #24997 -- Enabled bulk_create() on proxy models
2015-07-02 13:53:51 -04:00
Michael Tänzer
3bbaf84d65
Fixed #18247 -- Added cast to NUMERIC for Decimals on sqlite
...
On sqlite the SUM() of a decimal column doesn't have a NUMERIC type so
when comparing it to a string literal (which a Decimal gets converted to
in Django) it is not compared as expected.
2015-06-30 18:27:42 -04:00
Jonas Degrave
4352e865a7
Fixed #24911 -- Made BaseManager.get_queryset() allow custom queryset args.
2015-06-30 13:48:30 -04:00
Andriy Sokolovskiy
7866968eb3
Removed unused condition for the abstract model in ensure_default_manager()
2015-06-29 21:17:19 -04:00
Anssi Kääriäinen
9ed82154bd
Fixed #23791 -- Corrected object type check for pk__in=qs
...
When the pk was a relation field, qs.filter(pk__in=qs) didn't work.
In addition, fixed Restaurant.objects.filter(place=restaurant_instance),
where place is an OneToOneField and the primary key of Restaurant.
A big thank you to Josh for review and to Tim for review and cosmetic
edits.
Thanks to Beauhurst for commissioning the work on this ticket.
2015-06-29 07:49:31 -04:00
Tim Graham
7da3923ba0
Sorted imports in __init__.py files.
2015-06-27 11:53:33 -04:00
Greg Chapple
4a66a69239
Fixed #24887 -- Removed one-arg limit from models.aggregate
2015-06-27 11:44:33 -04:00
薛丞宏
d3e12c9017
Fixed #25016 -- Reallowed non-ASCII values for ForeignKey.related_name on Python 3.
2015-06-26 08:30:05 -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
Markus Holtermann
d3d66d4722
Fixed #24940 -- Made model managers hashable
...
Thanks Federico Jaramillo Martínez for the report and Tim Graham for the
test and review.
2015-06-19 19:02:01 +02:00
Gagaro
74261bc593
Fixed #24873 -- Prevented nested Prefetch objects from being overwritten.
2015-06-18 15:42:47 -04:00
Tim Graham
3872a33132
Fixed #24979 -- Removed usage of inspect.getargspec().
2015-06-15 13:43:22 -04:00
Tim Graham
4b600ed244
Removed django.utils.functional.total_ordering()
2015-06-15 13:15:24 -04:00
Brian King
bfb5b7150f
Fixed #24912 -- Fixed prefetch_related failure for UUIDField primary keys
...
This resolves a problem on databases besides PostgreSQL when using
prefetch_related with a source model that uses a UUID primary key.
2015-06-15 09:37:38 -04:00
Cole Maclean
20ff296cb1
Fixed #24859 -- Made QuerySet.get() with UUIDField raise TypeError on bad value.
...
For consistency with AutoField.
2015-06-06 19:46:05 -04:00
Andriy Sokolovskiy
08232ef84d
Fixed #24744 - Fixed relabeled_clone for the Transform
2015-06-06 09:04:53 -04:00
Mark Lavin
541f4ea546
Fixed #24924 -- Join promotion for multiple Case expressions
2015-06-05 12:22:43 -04:00
Tim Graham
6b41834855
Minor edits to Greatest/Least docs; refs #24767 .
2015-06-05 11:40:10 -04:00
Andriy Sokolovskiy
286d0e6ab1
Refs #24833 -- Forwardported some of "Fixed Case expressions with exclude()."
...
Partial forwardport of 469f1e362b
from stable/1.8.x
as the issue was already fixed in master.
2015-06-05 11:21:31 -04: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
Rolo
19e67c6cd1
Fixed #24677 -- Made TextField.to_python() return a string.
...
This is consistent with CharField.
2015-06-04 09:02:54 -04:00
Adam Chainz
23048d186c
Fixed #24866 -- Added Now() database function
2015-06-02 17:59:01 -04:00
Andriy Sokolovskiy
2913d6b77d
Fixed #24831 -- Fixed pickling queryset with prefetch_related() after deleting objects.
2015-06-02 09:54:53 -04:00
Jon Dufresne
44f3ee7716
Fixed #9596 -- Added date transform for DateTimeField.
2015-06-02 08:49:10 -04:00
Josh Smeaton
c7805ee214
Fixed #24699 -- Added aggregate support for DurationField on Oracle
2015-05-30 20:41:33 -04:00
Paweł Marczewski
801a84ae32
Fixed #24835 -- Fixed QuerySet.exists() after an annotation with Count()
...
QuerySet.exists() incorrectly handled query.group_by = True
case (grouping by all select fields), causing GROUP BY
expressions to be wiped along with select fields.
2015-05-25 20:46:20 -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
Anssi Kääriäinen
bc87061a3c
Fixed #24705 -- Fixed negated Q objects in expressions.
...
Avoided split_exclude() for Q when used as an expression.
2015-05-20 09:41:04 -04:00
Alasdair Nicol
d091b75eef
Fixed #24818 -- Prevented models.CharField from accepting a string as max_length
2015-05-19 08:06:39 -04:00
Aymeric Augustin
54026f1e8d
Renamed value_to_db_xxx to adapt_xxxfield_value.
...
This mirrors convert_xxxfield_value nicely, taking advantage of the
adapter/converter terminology which is commonly used by DB-API modules.
2015-05-17 09:39:34 +02:00
Aymeric Augustin
d9521f66b1
Removed global timezone-aware datetime adapters.
...
Refs #23820 .
Fixed #19738 .
Refs #17755 . In order not to introduce a regression for raw queries,
parameters are passed through the connection.ops.value_to_db_* methods,
depending on their type.
2015-05-17 09:38:48 +02:00
Tim Graham
eda12ceef1
Removed redundant list() calls.
2015-05-16 10:44:07 -04:00
Piotr Jakimiak
4157c502a5
Removed unnecessary arguments in .get method calls
2015-05-13 20:51:18 +02:00
Abhaya Agarwal
9de9c24017
Fixed #24105 -- Called Storage.get_valid_name() when upload_to is callable
2015-05-12 20:08:22 -04:00
Andriy Sokolovskiy
f7b2978158
Fixed #24156 -- Fixed inherited related name of ManyToManyField.
...
Fixed situation when parent abstract model declares related_name='+',
and child models had an invalid queryset.
2015-05-12 19:14:55 -04:00
Anssi Kääriäinen
adc57632bc
Fixed #24748 -- Fixed incorrect GROUP BY on MySQL in some queries
...
When the query's model had a self-referential foreign key, the
compiler.get_group_by() code incorrectly used the self-referential
foreign key's column (for example parent_id) as GROUP BY clause
when it should have used the model's primary key column (id).
2015-05-11 11:42:27 -04:00
Anssi Kääriäinen
be9d645346
Fixed #24766 -- Added join promotion for Case expressions
2015-05-11 11:16:16 -04:00
Matt Robenolt
8a54526592
Removed redundant removal of hyphens in UUIDField.
2015-05-11 07:11:50 -04:00
Tim Graham
b99114f67f
Fixed #24758 -- Corrected Options.get_fields() docstring.
2015-05-08 13:18:48 -04:00
Pradeek
6123e6134f
Fixed #24708 -- Handled non-string values in GenericIPAddressField.to_python()
2015-05-06 07:03:31 -04:00
Anssi Kääriäinen
7b05d2fdae
Fixed #24752 -- query crash when reusing Case expressions
...
Case expressions weren't copied deep enough (self.cases list was
reused resulting in an error).
2015-05-05 11:38:12 -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