Andrew Nester
69b7d4b116
Fixed #27458 -- Fixed invalid sequence/index names when using "USER"."TABLE" db_table on Oracle.
2016-12-30 17:11:12 -05:00
Tim Graham
e3e80da7a5
Fixed #27651 -- Allowed M2M to concrete and proxy through model.
2016-12-28 12:48:17 -05:00
InvalidInterrupt
98359109eb
Fixed #17002 -- Allowed using a ManyToManyField through model that inherits another.
2016-12-07 17:50:51 -05:00
Ramin Farajpour Cami
967be82443
Fixed E305 flake8 warnings.
2016-11-14 12:30:46 -05:00
Tim Graham
e7abb5ba86
Fixed #27204 -- Made clashing m2m intermediary table checks ignore unmanaged models.
2016-09-09 19:18:37 -04:00
Ryan P Kilby
7aeb7390fc
Fixed #26891 -- Fixed lookup registration for ForeignObject.
2016-08-11 14:16:48 -04:00
Kevan Swanberg
17a0a6667c
Refs #26796 -- Fixed ManyToManyField's limit_choices_to warning without a through model.
2016-07-21 14:29:03 -04:00
Andrey Fedoseev
81963b37a9
Fixed #17657 -- Made ModelForm respect ModelMultipleChoiceField's to_field_name.
...
Follow up to 67d984413c
.
2016-07-12 16:20:06 -04:00
Anderson Resende
ba53da894f
Fixed #26796 -- Added a system check for m2m fields with ignored limit_choices_to.
2016-07-08 19:37:40 -04:00
Ben Demboski
2224a56631
Fixed #26784 -- Made ForeignKey.validate() pass `model` to router if model_instance=None.
2016-06-27 13:33:37 -04:00
Berker Peksag
0bce2f102c
Fixed #12810 -- Added a check for clashing ManyToManyField.db_table names.
2016-06-10 10:57:22 -04:00
Michal Petrucha
686a593aaa
Fixed #26648 -- Added a system check for invalid related_query_name's containing underscores.
2016-06-09 11:57:32 -04:00
Sergey Fedoseev
21130ce1a9
Fixed #26718 -- Added system check for existence of the fields specified by ForeignKey.to_field.
2016-06-09 10:19:09 -04:00
Paulo
38575b007a
Fixed #15250 -- Avoided extra query on some multi-table inheritance queries.
...
Thanks marekw2143 for the initial patch and carljm for support.
2016-06-03 10:18:24 -04:00
Tim Graham
a4c20ae85b
Refs #24227 -- Fixed crash of ManyToManyField.value_from_object() on unsaved model instances.
...
This behavior was removed in 67d984413c
but is needed to prevent a crash in formtools.
2016-05-28 15:41:47 -04:00
Tim Graham
67d984413c
Refs #24227 -- Removed ManyToManyField special casing in model_to_dict().
2016-05-11 10:12:59 -04:00
Tim Graham
901dc90db0
Removed unused/untested Field.get_choices_default()/value_to_string() methods.
2016-04-25 08:05:27 -04:00
Tim Graham
6b0a25d9e2
Removed unused ForeignObject.attnames/get_defaults().
2016-04-22 10:00:50 -04:00
Michal Petrucha
c339a5a6f7
Refs #16508 -- Renamed the current "virtual" fields to "private".
...
The only reason why GenericForeignKey and GenericRelation are stored
separately inside _meta is that they need to be cloned for every model
subclass, but that's not true for any other virtual field. Actually,
it's only true for GenericRelation.
2016-04-13 10:10:53 -04:00
Tim Graham
df8d8d4292
Fixed E128 flake8 warnings in django/.
2016-04-08 09:51:06 -04:00
Markus Holtermann
103d4e1d65
Fixed #26441 -- Added model Field.db_check() method
...
Thanks Common Code for financing the work on this commit.
2016-04-03 09:56:59 +02:00
Simon Charette
0223e213dd
Fixed #26186 -- Documented how app relative relationships of abstract models behave.
...
This partially reverts commit bc7d201bdb
.
Thanks Tim for the review.
Refs #25858 .
2016-02-29 22:07:05 -05:00
chenesan
b84f5ab4ec
Fixed #26230 -- Made default_related_name affect related_query_name.
2016-02-27 08:48:32 -05:00
Tim Graham
004ba0f99e
Removed unneeded hint=None/obj=None in system check messages.
2016-02-12 13:01:25 -05:00
Anssi Kääriäinen
353aecbf8c
Fixed #26153 -- Reallowed Q-objects in ForeignObject.get_extra_descriptor_filter().
2016-02-11 08:59:43 -05:00
Simon Charette
a325fb1f9b
Fixed #26162 -- Checked query name clashes of hidden relationships.
...
Although reverse accessor clashes should be skipped query name can't be hidden.
Thanks to Ian Foote and Tim Graham for the review.
2016-02-08 09:59:27 -05:00
James Pulec
f05722a08a
Fixed #25354 -- Added class/app_label interpolation for related_query_name.
2016-01-28 11:10:47 -05:00
userimack
60586dd737
Fixed #26125 -- Fixed E731 flake warnings.
2016-01-25 14:23:43 -05:00
Simon Charette
bc7d201bdb
Fixed #25858 -- Bound abstract model application relative relationships.
...
Thanks to Karl Hobley for the report and Markus, Shai, Aymeric for their input
and Tim for the review.
2016-01-11 12:23:23 -05:00
Luis San Pablo
a856555df2
Fixed #25981 -- Added need to update migrations to on_delete deprecation warning.
2015-12-24 08:08:22 -05:00
Tomo Otsuka
8b6974a685
Fixed #25972 -- Restored support for the isnull lookup with ForeignObject.
2015-12-24 07:33:55 -05:00
Alexander Sosnovskiy
b61eab18f7
Fixed #13774 -- Added models.Field.rel_db_type().
2015-12-04 07:55:41 -05:00
Claude Paroz
68554d1676
Fixed #13427 -- Made auto-m2m verbose names translatable
2015-11-21 18:09:57 +01:00
Simon Charette
c550beb0cc
Fixed #25723 -- Made related field checks lookup against their local apps.
2015-11-11 19:33:54 -05:00
Tim Graham
9c5e272860
Fixed #25550 -- Deprecated direct assignment to the reverse side of a related set.
2015-10-27 07:57:15 -04:00
Simon Charette
c1b6a8a98b
Fixed #25560 -- Made empty string related_name invalid.
...
Thanks to Ali Lotfi for the initial report and patch
and Tim Graham for the review.
2015-10-16 14:22:15 -04:00
Tim Graham
c7aff31397
Refs #25535 -- Minor edits to ForeignObject check changes.
2015-10-14 05:21:08 -07:00
Antoine Catton
80dac8c33e
Fixed #25535 -- Made ForeignObject checks less strict.
...
Check that the foreign object `from_fields` are a subset of any unique
constraints on the foreign model.
2015-10-12 18:00:59 -04:00
Simon Charette
6c9f37ea9e
Fixed #18012 -- Propagated reverse foreign keys from proxy to concrete models.
...
Thanks to Anssi for the review.
2015-10-12 12:14:26 -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
96317ad8de
Refs #21414 -- Removed Field.related per deprecation timeline.
2015-09-23 19:31:10 -04: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
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
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
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -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
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
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
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
薛丞宏
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
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
Andriy Sokolovskiy
2913d6b77d
Fixed #24831 -- Fixed pickling queryset with prefetch_related() after deleting objects.
2015-06-02 09:54:53 -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
Marco Fucci
4ee08958f1
Fixed #24505 -- Fixed clash with hidden m2m fields.
...
Added support for multiple m2m fields with the same 'to' model
and with related_name set to '+'.
2015-03-26 19:00:37 -04:00
Alex Hill
720ff740e7
Fixed #24215 -- Refactored lazy model operations
...
This adds a new method, Apps.lazy_model_operation(), and a helper function,
lazy_related_operation(), which together supersede add_lazy_relation() and
make lazy model operations the responsibility of the App registry. This
system no longer uses the class_prepared signal.
2015-03-25 16:48:17 -04:00
Anssi Kääriäinen
8f30556329
Renamed Field.rel attribute to remote_field
...
Field.rel is now deprecated. Rel objects have now also remote_field
attribute. This means that self == self.remote_field.remote_field.
In addition, made the Rel objects a bit more like Field objects. Still,
marked ManyToManyFields as null=True.
2015-03-25 08:16:12 -04:00
Anssi Kääriäinen
f9c70bb3a1
Renamed ForeignObject.related_field to target_field
2015-03-25 08:13:27 -04:00
Anssi Kääriäinen
d43aa28f67
Removed field.field check in setup_joins()
2015-03-25 08:11:27 -04:00
Anssi Kääriäinen
b68212f539
Refs #24267 -- Implemented lookups for related fields
...
Previously related fields didn't implement get_lookup, instead
related fields were treated specially. This commit removed some of
the special handling. In particular, related fields return Lookup
instances now, too.
Other notable changes in this commit is removal of support for
annotations in names_to_path().
2015-03-25 08:05:22 -04:00
Michael Blatherwick
00e667728b
Fixed #23697 -- Improved ForeignObject.get_lookup_constraint() error message.
2015-03-23 10:31:57 -04:00
Karl Hobley
81e1a35c36
Fixed #24495 -- Allowed unsaved model instance assignment check to be bypassed.
2015-03-18 19:00:09 -04:00
Anssi Kääriäinen
f95122e541
Fixed #24381 -- removed ForeignObjectRel opts and to_opts
...
These cached properies were causing problems with pickling, and in
addition they were confusingly defined: field.rel.model._meta was
not the same as field.rel.opts.
Instead users should use field.rel.related_model._meta inplace of
field.rel.opts, and field.rel.to._meta in place of field.rel.to_opts.
2015-02-23 07:24:43 -05: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
Marc Tamlyn
4755f8fc25
Fixed #24343 -- Ensure db converters are used for foreign keys.
...
Joint effort between myself, Josh, Anssi and Shai.
2015-02-20 11:35:51 +00:00
Loic Bistuer
5efd472178
Reworked docstrings and comments in related.py.
...
Thanks Tim Graham for the review.
2015-02-16 20:40:04 +07:00
Loic Bistuer
c5a77721e2
Merged ManyRelatedObjectsDescriptor and ReverseManyRelatedObjectsDescriptor
...
and made all "many" related objects descriptors inherit from
ForeignRelatedObjectsDescriptor.
2015-02-16 20:40:04 +07: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
Simon Charette
9239f1dda7
Refs #24215 -- Prevented pending lookup pollution by abstract models.
2015-02-12 13:07:09 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Loic Bistuer
20eb51ce0d
Fix small regression caused by 71ada3a8e6
.
...
During direct assignment, evaluating the iterable before the transaction
is started avoids leaving the transaction dirty if an exception is raised.
This is slightly more wasteful but probably not enough to warrant a change
of behavior.
Thanks Anssi for the feedback. Refs #6707 .
2015-02-05 16:59:56 +07: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
Anssi Kääriäinen
7145c8a62a
Removed EverythingNode
...
At the same time, made sure that empty nodes in where clause match
everything.
2015-02-04 09:26:40 -05:00
Simon Charette
eb4cdfbdd6
Fixed #23940 -- Allowed model fields to be named `exact`.
...
An explicit `__exact` lookup in the related managers filters
was interpreted as a reference to a foreign `exact` field.
Thanks to Trac alias zhiyajun11 for the report, Josh for the investigation,
Loïc for the test name and Tim for the review.
2015-01-29 14:40:20 -05:00
Tim Graham
f609731118
Removed ForeignObjectRel.get_lookup_constraint() [unused].
2015-01-29 13:31:12 -05:00
Loic Bistuer
84b6c76830
Fixed #24210 -- Cleaned up relational fields __init__().
...
Thanks Collin Anderson and Tim Graham for the reviews.
2015-01-27 22:35:49 +07: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
Daniel Pyrathon
8958170755
Fixed #9104 -- Moved FieldDoesNotExist to core.exceptions
2015-01-02 10:46:04 -05:00
Anssi Kääriäinen
f233bf47dd
Fixed #21414 -- Removed RelatedObject and deprecated Field.related.
2014-12-23 10:54:25 -05:00
Carl Meyer
c72eb80d11
Fixed #23455 -- Accept either bytes or text for related_name, convert to text.
2014-12-12 12:50:39 -07:00
Carl Meyer
8aaf51f94c
Revert "Fixed #23455 -- Forced related_name to be a unicode string during deconstruction."
...
This reverts commit 45bd7b3bd9
.
2014-12-12 12:50:39 -07:00
Jon Dufresne
4468c08d70
Fixed #23968 -- Replaced list comprehension with generators and dict comprehension
2014-12-08 07:58:23 -05:00
Diego Guimarães
f39b0421b4
Fixed #23338 -- Added warning when unique=True on ForeigKey
...
Thanks Jonathan Lindén for the initial patch, and Tim Graham
and Gabe Jackson for the suggestions.
2014-11-27 19:42:30 -05:00
Simon Charette
9cebb95348
Adjusted a comment to reflect some app refactor changes.
2014-11-26 09:47:37 -05:00
Simon Charette
c7087bc777
Fixed #23862 -- Made ManyToManyRel.get_related_field() respect to_field.
2014-11-21 16:02:31 -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
aa77e90aa9
Remove Field.get_validator_unique_lookup_type()
...
Usage of this method was removed pre 1.0 (c2ba59fc
).
2014-11-12 20:11:40 +01:00
Veres Lajos
a71a2ea756
Fixed typos using https://github.com/vlajos/misspell_fixer
2014-11-03 20:59:30 -05:00
Loic Bistuer
ed37f7e979
Fixed #23611 -- update_or_create failing from a related manager
...
Added update_or_create to RelatedManager, ManyRelatedManager and
GenericRelatedObjectManager.
Added missing get_or_create to GenericRelatedObjectManager.
2014-10-08 03:27:31 +07:00
André Ericson
1e5e2a4707
Fixed #22064 -- Add check for related_name
...
Validates that related_name is a valid Python id or ends with a '+' and
it's not a keyword. Without a check it passed silently leading to
unpredictable problems.
Thanks Konrad Świat for the initial work.
2014-10-04 20:47:26 -03:00
Markus Holtermann
45bd7b3bd9
Fixed #23455 -- Forced related_name to be a unicode string during deconstruction.
2014-09-25 17:49:44 -04:00
Loic Bistuer
e043aae9bb
Fixed #23550 -- Normalized get_queryset() of RelatedObjectDescriptor
...
and ReverseSingleRelatedObjectDescriptor so they actually return QuerySet
instances.
Also ensured that SingleRelatedObjectDescriptor.get_queryset() accounts
for use_for_related_fields=True.
This cleanup lays the groundwork for #23533 .
Thanks Anssi Kääriäinen for the review.
2014-09-24 02:03:12 +07:00
Tim Graham
1101467ce0
Limited lines to 119 characters in django/
...
refs #23395 .
2014-09-05 09:22:16 -04:00
Andrew Godwin
4d2f9c38e8
Fixed #23288 : deconstruct() ignoring related_name
2014-08-14 19:47:22 -07:00
Baptiste Mispelon
44169a00c1
Removed unnecessary code in ManyToManyField.deconstruct()
2014-08-03 15:15:24 +02:00
Mitar
1ed6fbcf44
Fixed #21940 -- Added kwargs to contribute_to_class() of model fields..
...
Thanks Kronuz for the suggestion.
2014-08-01 07:41:28 -04:00