Jon Dufresne
21046e7773
Fixed #28249 -- Removed unnecessary dict.keys() calls.
...
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Jon Dufresne
7be94e0335
Replaced set |= operator with update() to avoid temporary set.
2017-04-27 08:16:19 -04:00
Tim Graham
3d19d1428a
Fixed #27915 -- Allowed Meta.indexes to be defined in abstract models.
...
Thanks Markus Holtermann for review.
2017-03-21 10:53:21 -04:00
Claude Paroz
8346680e1c
Refs #27795 -- Removed unneeded force_text calls
...
Thanks Tim Graham for the review.
2017-03-04 18:18:21 +01:00
Anton Samarchyan
60e52a047e
Refs #27656 -- Updated django.db docstring verbs according to PEP 257.
2017-02-28 09:17:27 -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
Tim Graham
29f607927f
Fixed spelling of "nonexistent".
2017-02-03 08:01:45 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Claude Paroz
042b7350a0
Refs #23919 -- Removed unneeded str() calls
2017-01-20 14:13:55 +01:00
Claude Paroz
dc8834cad4
Refs #23919 -- Removed unneeded force_str calls
2017-01-20 08:44:31 +01:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
eb422e476f
Refs #23919 -- Removed obsolete __ne__() methods.
...
__ne__() defaults to the opposite of __eq__() on Python 3
when it doesn't return NotImplemented.
2017-01-18 21:44:00 -05:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
f3c43ad1fd
Refs #23919 -- Removed python_2_unicode_compatible decorator usage
2017-01-18 13:44:34 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Tim Graham
631f4ab061
Removed Manager.use_for_related_fields and Meta.manager_inheritance_from_future.
...
Per deprecation timeline. Refs ed0ff913c6
.
2017-01-17 20:52:04 -05:00
Adam Chainz
d2a26c1a90
Optimized Model instantiation a bit.
...
* Avoid some unnecessary attribute lookups, e.g. access signals directly rather than from module
* Alias some repeat accesses inside the method to use the slightly faster local lookups
* Use tuple to iterate remaining kwargs as it's faster to construct
* Cache Field.get_default() to avoid running through all the logic on every call
* Use a cached list of the properties on the model class to avoid repeat isinstance() calls
2016-12-15 13:42:44 -05:00
Tim Graham
dd99e69fa8
Refs #27025 -- Fixed Python 3.6 deprecation warning for empty model super() calls.
...
https://bugs.python.org/issue23722
Thanks Nick Coghlan for advice and review.
2016-12-05 19:37:23 -05:00
Adam Chainz
6252fd6314
Fixed #27532 -- Deprecated Model._meta.has_auto_field
2016-11-25 13:24:11 -05:00
Adam Chainz
92bbef8b9e
Improved the way Model.save() skips the auto_field.
...
Identity comparison is quicker than isinstance(), and it avoids coupling
between Model and AutoField.
2016-11-24 06:01:36 -05:00
Quentin Fulsher
f62abfc03d
Fixed #27295 -- Added a system check to prohibit model names that start or end with an underscore or contain double underscores.
2016-11-22 10:14:10 -05:00
Adam Chainz
74742aa956
Fixed #27512 -- Removed unused code in Model.__init__().
2016-11-20 19:39:32 -05:00
Adam Chainz
9d4246419c
Refs #26207 -- Removed obsolete comments about deferred model classes.
2016-11-20 18:22:13 -05:00
Adam Chainz
cc1f6f26b6
Fixed #27514 -- Tested Model.__init__ excessive number of fields.
2016-11-20 13:21:59 -05:00
Ramin Farajpour Cami
967be82443
Fixed E305 flake8 warnings.
2016-11-14 12:30:46 -05:00
Nick Pope
f1664a2734
Replaced '__' with LOOKUP_SEP constant.
2016-10-11 11:14:06 -04:00
Akshesh
6a8372e6ec
Fixed #26808 -- Added Meta.indexes for class-based indexes.
...
* Added the index name to its deconstruction.
* Added indexes to sqlite3.schema._remake_table() so that indexes
aren't dropped when _remake_table() is called.
Thanks timgraham & MarkusH for review and advice.
2016-08-05 18:12:51 -04:00
Andrew Nester
baff4dd37d
Fixed #25292 -- Fixed crash in ManyToManyField.through_fields check.
2016-06-30 08:53:38 -04:00
Jon Dufresne
267dc4addd
Fixed #4136 -- Made ModelForm save empty values for nullable CharFields as NULL.
...
Previously, empty values were saved as strings.
2016-06-13 09:14:36 -04:00
Marti Raudsepp
b9ae662c97
Fixed #26620 -- Made Model.refresh_from_db() fail when passed unknown kwargs.
2016-05-18 09:27:23 -04:00
Loïc Bistuer
ed0ff913c6
Fixed #10506 , #13793 , #14891 , #25201 -- Introduced new APIs to specify models' default and base managers.
...
This deprecates use_for_related_fields.
Old API:
class CustomManager(models.Model):
use_for_related_fields = True
class Model(models.Model):
custom_manager = CustomManager()
New API:
class Model(models.Model):
custom_manager = CustomManager()
class Meta:
base_manager_name = 'custom_manager'
Refs #20932 , #25897 .
Thanks Carl Meyer for the guidance throughout this work.
Thanks Tim Graham for writing the docs.
2016-05-17 12:07:22 +07:00
Loïc Bistuer
3a47d42fa3
Fixed #20932 , #25897 -- Streamlined manager inheritance.
2016-05-17 02:29:22 +07:00
Aron Podrigal
85ef98dc6e
Fixed #24305 -- Allowed overriding fields on abstract models.
...
Fields inherited from abstract base classes may be overridden like
any other Python attribute. Inheriting from multiple models/classes
with the same attribute name will follow the MRO.
2016-05-16 07:32:21 -04:00
Michal Petrucha
8a47ba679d
Refs #16508 -- Made Model.__init__() aware of virtual fields.
...
It's no longer necessary for GenericForeignKey (and any other virtual fields)
to intercept the field's values using the pre_init signal.
2016-05-03 09:06:26 -04:00
Anssi Kääriäinen
7f51876f99
Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading.
2016-04-29 13:06:32 -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
Tim Graham
2cd2d18851
Fixed W503 flake8 warnings.
2016-04-04 17:14:26 -04:00
Akshesh
49f95cc0a0
Fixed #11560 -- Allowed proxy model multiple-inheritance from the same concrete base model.
2016-03-30 13:06:27 -04:00
Simon Charette
67cf5efa31
Fixed #26413 -- Fixed a regression with abstract model inheritance and explicit parent links.
...
Thanks Trac alias trkjgrdg for the report and Tim for investigation and review.
2016-03-28 21:11:37 -04:00
Tim Graham
004ba0f99e
Removed unneeded hint=None/obj=None in system check messages.
2016-02-12 13:01:25 -05:00
Tim Graham
10a162809f
Refs #24007 -- Removed an apps.populate() call in model unpickling that can cause deadlocks.
2016-02-08 08:28:48 -05:00
Joshua Phillips
16baec5c8a
Fixed #25910 -- Rejected read-only property names in model constructors.
2016-01-22 13:27:11 -05:00
Varun Sharma
692d055890
Fixed #25984 -- Corrected RuntimeError message in ModelBase.__new__().
2015-12-24 16:44:58 -05:00
Tim Graham
54e2e688e1
Fixed #25715 -- Fixed Model.refresh_from_db() with ForeignKey w/on_delete=SET_NULL.
2015-11-21 10:34:01 -05:00
Simon Charette
4cd5d846d4
Fixed #25730 -- Made Model.__str__() always return str instances.
...
Thanks to Kevin Turner for the report and Tim for the review.
2015-11-11 12:18:52 -05:00
Simon Charette
a82e21b0f9
Refs #18012 -- Removed the now unused proxied_children model option.
...
Thanks to Tim for the review.
2015-10-12 12:14:27 -04: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
Alex Hill
7bec480fe2
Fixed #24201 -- Added order_with_respect_to support to GenericForeignKey.
2015-08-27 09:20:17 -04: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
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
Flavio Curella
c2e70f0265
Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField
2015-07-27 18:28:13 -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
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
a10b4c010a
Fixed #24578 -- Fixed crash with QuerySet.update() on FK to O2O fields.
...
Thanks Anssi Kääriäinen for review.
2015-04-09 06:50:21 -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
Jon Dufresne
966a29c2b8
Fixed #24479 -- Added system check to prevent both ordering and order_wrt.
2015-03-21 08:16:28 -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
Claude Paroz
5cf96b49e4
Fixed #24418 -- Prevented crash in refresh_from_db with null fk
...
Thanks Johannes Lerch for the report, Tim Graham for the test case,
and Simon Charette for the review.
2015-02-27 20:23:07 +01:00
Anssi Kääriäinen
bad5f262bf
Fixed #24328 -- cleaned up Options._get_fields() implementation
2015-02-20 13:00:12 -05:00
Loic Bistuer
bed504d70b
Fixed #24351 , #24346 -- Changed the signature of allow_migrate().
...
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.
This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583 ;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.
Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.
Refs 22583.
2015-02-20 21:34:09 +07: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
Tim Graham
e144e0e237
Removed unnecessary parentheses in model check messages.
2015-02-09 08:53:58 -05:00
Aron Podrigal
4d73303ee9
Fixed #24249 -- Improved field shadowing validation in model multi-inheritance.
2015-02-09 08:37:55 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Aron Podrigal
79f27f2b61
Fixed #15321 -- Honored ancestors unique checks.
...
Thanks to Tim for the review.
2015-02-03 18:56:53 -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
378a0d27d6
Advanced deprecation warnings for Django 1.9.
2015-01-19 12:22:41 -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
Claude Paroz
108b8bf852
Fixed #24007 -- Ensure apps registry's ready before unpickling models
...
This prevents AppRegistryNotReady errors when unpickling Django
models from an external script.
2014-12-17 18:33:32 +01:00
Markus Holtermann
e37ab311fc
Changed internal storing of abstract and concrete managers to be in a single list.
...
This commit prepares the internal manager layout to be serialized by
migrations; refs #23822 .
2014-12-15 08:32:47 -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
Carl Meyer
e7b9a58b08
Fixed #21794 -- Removed deprecation warning for abstract models outside an app.
2014-11-19 15:56:04 -07:00
Karen Tracey
dec93d8991
Fixed #21612 -- Made QuerySet.update() respect to_field
2014-11-16 15:44:13 +01:00
Jozef Knaperek
c56c42b5c0
Fixed #22967 -- Made Model._do_update consistent
...
Made _do_update behave more strictly according to its docs,
including a corner case when specific concurent updates are
executed and select_on_save is set.
2014-11-12 12:53:30 +02:00
Tim Graham
c32bc1a7a7
Fixed #11775 -- Made ABSOLUTE_URL_OVERRIDES work with models that don't define get_absolute_url().
...
Thanks jukvalim for the report and initial patch,
and Preston Timmons for review.
2014-09-09 11:05:31 -04:00
Tim Graham
1101467ce0
Limited lines to 119 characters in django/
...
refs #23395 .
2014-09-05 09:22:16 -04:00
Shai Berger
dd9b3312d0
Fixed name of database connection feature
2014-07-14 19:23:57 +03: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
Anubhav Joshi
1c50d6ae2b
Fixed problem introduced with #refs 13711.
2014-06-23 19:36:40 +03:00
Anubhav Joshi
91f1b6dcdc
Fixed #13711 -- Model check added to ensure that auto-generated column name is within limits of the database.
...
Thanks russellm for report and Tim Graham for review.
2014-06-17 16:16:02 -04: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
Craig de Stigter
ce993efda8
Fixed #22690 -- Added a check for proxy models containing fields.
...
Removed the FieldError raised by ModelBase.__new__ in this case.
2014-06-02 09:32:38 -04:00
Vincent-Vega
d04e730224
Fixed #22711 -- Adjusted ordering checks to allow implicit relation fields.
...
refs #19195 .
2014-06-01 15:36:25 -04:00
Tim Graham
1efb2e73bf
Fixed typo.
2014-05-16 16:39:12 -04:00
Vlad Starostin
1be03aff5c
Fixed #18389 -- Fixed the way contribute_to_class is called
...
Now this method is only called only if the object is an instance.
This allows to have field classes as model class attributes.
2014-05-16 10:40:07 -04:00
Yehonatan Daniv
e2e4cdba11
Fixed #22539 -- Copied exclude argument in Model.full_clean() to prevent side effects.
2014-05-01 09:28:11 -04:00
Simon Charette
a2340ac6d6
Use the new implementation of `six.with_metaclass`.
...
No more `NewBase` horrors.
Thanks to bendavis78 for his work on merging this into six.
2014-04-29 09:43:08 -04:00
Aymeric Augustin
428c0bbe1b
Appeased flake8 2.1.0.
2014-04-21 12:27:34 +02:00
Marc Egli
0bcc92c691
Fixed #22356 -- Added a check to make sure unique_together fields are local.
2014-04-14 16:49:40 -04:00
Claude Paroz
0a65da941c
Fixed #22236 -- Removed inappropriate usage of signals
...
Thanks Aymeric Augustin for the report and Tim Graham for the review.
2014-04-05 21:00:31 +02:00
Aymeric Augustin
0f9560855e
Removed legacy transaction management per the deprecation timeline.
2014-03-21 21:06:50 +01:00
Claude Paroz
210d0489c5
Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warnings
...
Thanks Anssi Kääriäinen for the idea and Simon Charette for the
review.
2014-03-08 09:57:40 +01:00
Russell Keith-Magee
bc4dc6e99c
Edited model check messages for grammar and consistency.
2014-03-03 15:35:42 +08:00
Christopher Medrela
ee9fcb1672
Fixed #17673 -- Forbid field shadowing.
...
Thanks Anssi Kääriäinen for the suggestion.
2014-02-10 10:04:19 -05: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
Aymeric Augustin
4f03b718f7
Fixed #21877 -- Renamed django.apps.base to config.
2014-01-26 13:17:03 +01:00
Aymeric Augustin
f901b4d6c8
Took advantage of the new get_model API. Refs #21702 .
2014-01-26 13:08:05 +01:00
Russell Keith-Magee
d818e0c9b2
Fixed #16905 -- Added extensible checks (nee validation) framework
...
This is the result of Christopher Medrela's 2013 Summer of Code project.
Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.
Also: Fixes #8579 , fixes #3055 , fixes #19844 .
2014-01-20 10:45:21 +08:00
Andrew Godwin
3f1a008266
Fixed #21664 : Multi-table inheritance was duplicating _ptr fields
2014-01-19 18:35:49 +00:00
Aymeric Augustin
2f65b8e14c
Fixed #21794 -- Adjusted warning for abstract models.
...
As far as I can tell, they don't need an app_label.
Thanks Simon Charette for the report and the review.
2014-01-18 18:23:13 +01:00
Aymeric Augustin
3326a412cc
Deprecated importing a model before loading its application.
...
Refs #21719 , #21680 .
2014-01-10 23:43:10 +01:00
Aymeric Augustin
f630373b92
Fixed #21711 -- Enforced unicity of model names.
2014-01-05 20:52:53 +01:00
Aymeric Augustin
c40209dcc0
Made it possible to change an application's label in its configuration.
...
Fixed #21683 .
2013-12-31 17:30:58 +01:00
Aymeric Augustin
ba7206cd81
Changed get_model to raise an exception on errors.
...
Returning None on errors required unpythonic error checking and was
inconsistent with get_app_config.
get_model was a private API until the previous commit, but given that it
was certainly used in third party software, the change is explained in
the release notes.
Applied the same change to get_registered_model, which is a new private
API introduced during the recent refactoring.
2013-12-28 20:53:00 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Aymeric Augustin
17c66e6fe7
Renamed has_model to get_registered_models.
...
That matches its return type better.
2013-12-22 17:08:17 +01:00
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
70c9654d45
Renamed registered_model to has_model.
...
This avoids possible confusion with register_model.
Thanks Marc Tamlyn for the suggestion.
2013-12-22 11:39:18 +01:00
Aymeric Augustin
86804ab063
Terminated AppCache._populate() with extreme prejudice.
...
It was called _populate() before I renamed it to populate(). Since it
has been superseded by populate_models() there's no reason to keep it.
Removed the can_postpone argument of load_app() as it was only used by
populate(). It's a private API and there's no replacement. Simplified
load_app() accordingly. Then new version behaves exactly like the old
one even though it's much shorter.
2013-12-22 11:39:17 +01:00
Aymeric Augustin
742ed9878e
Refactored registration of models.
...
Got rid of AppConfig._stub. As a side effect, app_cache.app_configs now
only contains entries for applications that are in INSTALLED_APPS, which
is a good thing and will allow dramatic simplifications (which I will
perform in the next commit). That required adjusting all methods that
iterate on app_configs without checking the "installed" flag, hence the
large changes in get_model[s].
Introduced AppCache.all_models to store models:
- while the app cache is being populated and a suitable app config
object to register models isn't available yet;
- for applications that aren't in INSTALLED_APPS since they don't have
an app config any longer.
Replaced get_model(seed_cache=False) by registered_model() which can be
kept simple and safe to call at any time, and removed the seed_cache
argument to get_model[s]. There's no replacement for that private API.
Allowed non-master app caches to go through populate() as it is now
safe to do so. They were introduced in 1.7 so backwards compatibility
isn't a concern as long as the migrations framework keeps working.
2013-12-22 11:39:17 +01:00
Aymeric Augustin
4a56a93cc4
Moved the new app cache inside core.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
ebda5800ae
Simplified register_models.
...
Since it's never called with more than one model at a time the current
signature is needlessly complicated.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
8662654d6d
Removed module-level functions for the app cache.
...
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
860c2c8bc5
Moved django.db.models.loading to django.apps.cache.
...
This commit doesn't contain any code changes; it's purely a refactoring.
2013-12-17 10:17:43 +01:00
Loic Bistuer
6685713869
Fixed E127 pep8 warnings.
2013-12-14 11:59:15 -05:00
Loic Bistuer
f563c339ca
Fixed #20867 -- Added the Form.add_error() method.
...
Refs #20199 #16986 .
Thanks @akaariai, @bmispelon, @mjtamlyn, @timgraham for the reviews.
2013-11-30 01:00:53 +07:00
coagulant
3bc0d46a84
Fixed all E261 warnings
2013-11-02 18:20:39 -04:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Alasdair Nicol
b289fcf1bf
Fixed #21288 -- Fixed E126 pep8 warnings
2013-10-21 08:31:30 -04:00
Alasdair Nicol
dfb4cb9970
Fixed #21285 -- Fixed E121,E122 pep8 warnings
2013-10-17 20:20:11 -04:00
Aymeric Augustin
589dc49e12
Fixed #21198 -- Prevented invalid use of @python_2_unicode_compatible.
...
Thanks jpic for the report and chmodas for working on a patch.
Reverts 2ea80b94
. Refs #19362 .
2013-10-13 18:14:04 +02:00
Tim Graham
b67ab75e82
Fixed assorted flake8 errors.
2013-10-11 07:25:14 -04:00
Tim Graham
adedc31072
Fixed "redefinition of unused 'foo' from line X" pyflakes warnings.
2013-10-10 11:09:42 -04:00
Aymeric Augustin
b4cd8169de
Fixed #11811 -- Data-loss bug in queryset.update.
...
It's now forbidden to call queryset.update(field=instance) when instance
hasn't been saved to the database ie. instance.pk is None.
2013-09-06 17:15:23 -05:00
Aymeric Augustin
365c3e8b73
Replaced "not PY3" by "PY2", new in six 1.4.0.
2013-09-02 12:11:02 +02:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Anssi Kääriäinen
e973ee6a98
Fixed #20988 -- Added model meta option select_on_save
...
The option can be used to force pre 1.6 style SELECT on save behaviour.
This is needed in case the database returns zero updated rows even if
there is a matching row in the DB. One such case is PostgreSQL update
trigger that returns NULL.
Reviewed by Tim Graham.
Refs #16649
2013-08-30 09:41:07 +03:00
Andrew Godwin
5569b0b92f
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/oracle/base.py
django/db/backends/postgresql_psycopg2/base.py
django/db/models/signals.py
tests/queries/tests.py
2013-08-23 12:36:53 +01:00
Anssi Kääriäinen
6af05e7a0f
Fixed model.__eq__ and __hash__ for no pk value cases
...
The __eq__ method now considers two instances without primary key value
equal only when they have same id(). The __hash__ method raises
TypeError for no primary key case.
Fixed #18864 , fixed #18250
Thanks to Tim Graham for docs review.
2013-08-22 17:24:07 +03:00
Andrew Godwin
b6a957f0ba
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Anssi Kääriäinen
4668c142dc
Made Model.__eq__ consider proxy models equivalent
...
Fixed #11892 , fixed #16458 , fixed #14492 .
2013-08-19 09:51:28 +03:00
Loic Bistuer
163a34ce4b
Fixed #20883 -- Made model inheritance find parent links in abstract parents
2013-08-13 15:14:11 +03:00
Andrew Godwin
03ec3219a0
Merge branch 'master' into schema-alteration
...
Conflicts:
django/db/backends/mysql/introspection.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/creation.py
django/db/models/base.py
django/db/models/loading.py
2013-07-22 19:04:25 +01:00
Tim Graham
2333c9662b
Fixed #14007 -- Added model discovery in models module without the need to specify app_label.
...
Thanks mark@ and Aramgutang for work on the patch.
2013-07-16 19:32:30 -04:00
Alex Gaynor
03d9566e0d
A large number of stylistic cleanups across django/db/
2013-07-08 10:39:54 +10:00
Andrew Godwin
9daf81b94e
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/loading.py
2013-06-19 12:05:23 +01:00
Loic Bistuer
f34cfec0fa
Refactored ValidationError to allow persisting error params and error codes as the exception bubbles up
2013-06-18 08:01:17 -04:00
Anssi Kääriäinen
5459795ef2
Fixed #20289 -- pickling of dynamic models
2013-06-14 17:05:54 +03:00
Andrew Godwin
3c296382b8
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/fields/related.py
2013-06-07 11:15:34 +01:00
Tim Graham
616f3c4a79
Fixed #20272 - Moved update_fields existence check into Model._do_update.
...
Thanks Gavin Wahl.
2013-05-30 10:48:30 -04:00
Andrew Godwin
b31eea069c
Merge branch 'master' into schema-alteration
2013-05-18 10:21:31 +02:00
Aymeric Augustin
9c487b5974
Replaced an antiquated pattern.
...
Thanks Lennart Regebro for pointing it out.
2013-05-17 18:08:58 +02:00
Andrew Godwin
104ad0504b
Split out a BaseAppCache, make AppCache borg again, add _meta.app_cache
2013-05-09 15:16:43 +01:00
Andrew Godwin
7f3678dc4c
Merge branch 'master' into schema-alteration
...
Conflicts:
django/db/backends/__init__.py
django/db/backends/mysql/base.py
django/db/backends/oracle/base.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/base.py
django/db/backends/sqlite3/base.py
django/db/models/fields/related.py
2013-04-18 17:16:39 +01:00