| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
"future".
Per deprecation timeline.
|
| |
|
| |
|
|
|
|
| |
allow_migrate() signature per deprecation timeline.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
lookups
When someone needs to build a custom backend-specific GIS lookup, it
is much easier done if getting the spatial operator class happens in
a dedicated method (no need to rewrite the entire as_sql() method).
|
|
|
|
| |
ask_not_null_alteration suggestion.
|
|
|
|
|
|
|
| |
Without an explicit 'level', only messages at WARNING or higher
are handled. This makes the config consistent with the docs
which say, "The django catch-all logger sends all messages at
the INFO level or higher to the console."
|
|
|
|
|
|
|
|
|
| |
Python 2.
Reverted "Fixes #24727 -- Prevented ClearableFileInput from masking
exceptions on Python 2" and added a regression test.
This reverts commit 5c412dd8a724b263489c1bd7a2fea381460665d7.
|
| |
|
|
|
|
| |
SQLInsertCompiler
|
|
|
|
| |
docstrings.
|
|
|
|
| |
during {% include %} tag rendering.
|
|
|
|
| |
logging message.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commits lifts the restriction that the outermost atomic block must
be declared with savepoint=False. This restriction was overly cautious.
The logic that makes it safe not to create savepoints for inner blocks
also applies to the outermost block when autocommit is disabled and a
transaction is already active.
This makes it possible to use the ORM after set_autocommit(False).
Previously it didn't work because ORM write operations are protected
with atomic(savepoint=False).
|
|
|
|
|
| |
Kept the docstring short because these objects aren't very well defined
and they're in the crosshairs of several refactorings.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Changed the poll / choices example to a more obvious parent / children.
I think that reduces the cognitive load.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
forms.
|
|
|
|
|
|
|
|
| |
modelformset instances
Too much field exclusions in form's construct_instance() in _post_clean()
could lead to some unexpected missing ForeignKey values.
Fixes a regression from 45e049937. Refs #13776.
|
|
|
|
|
| |
The RegexURLResolver.resolve() method no longer returns a tuple.
It has returned a ResolverMatch object since commit e0fb90b2.
|
|
|
|
| |
functions.
|
|
|
|
|
| |
Thanks jwa and lamby for the suggestions, and timgraham and jarshwah
for their reviews.
|
| |
|
|
|
|
| |
pollution when create() fails due to an unsaved object.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
enclosure feed tests
|
|
|
|
|
|
|
|
| |
urlparse() fails with an AttributeError ("'__proxy__' object has no
attribute 'decode'") if reverse_lazy is used to look up the URL
(this is exactly the same problem that caused ticket #18776). The
solution is to use force_str() on the path before handing it to
urlparse().
|
|
|
|
|
|
| |
squashmigrations
Thanks Tim Graham for the review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change partly goes back to the old behavior for forwards migrations
which should reduce the amount of memory consumption (#24745). However,
by the way the current state computation is done (there is no
`state_backwards` on a migration class) this change cannot be applied to
backwards migrations. Hence rolling back migrations still requires the
precomputation and storage of the intermediate migration states.
This improvement also implies that Django does not handle mixed
migration plans anymore. Mixed plans consist of a list of migrations
where some are being applied and others are being unapplied.
Thanks Andrew Godwin, Josh Smeaton and Tim Graham for the review as well
as everybody involved on the ticket that kept me looking into the issue.
|
|
|
|
| |
list/tuple of decorators.
|
|
|
|
| |
password_reset() view.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Atom feeds.
The ``item_enclosures`` hook returns a list of ``Enclosure`` objects which is
then used by the feed builder. If the feed is a RSS feed, an exception is
raised as RSS feeds don't allow multiple enclosures per feed item.
The ``item_enclosures`` hook defaults to an empty list or, if the
``item_enclosure_url`` hook is defined, to a list with a single ``Enclosure``
built from the ``item_enclosure_url``, ``item_enclosure_length``, and
``item_enclosure_mime_type`` hooks.
|
|
|
|
| |
values.
|
|
|
|
| |
places and max digits.
|
|
|
|
| |
get_relations() consistent with other backends.
|
|
|
|
| |
error to a system check.
|
| |
|
| |
|
|
|
|
| |
unhandled lazy ops error.
|
|
|
|
| |
on gis backends.
|
| |
|
|
|
|
| |
for timezones on the negative side of UTC.
|
|
|
|
|
|
|
| |
CSRF_COOKIE_DOMAIN.
Thanks Seth Gottlieb for help with the documentation and
Carl Meyer and Joshua Kehn for reviews.
|
| |
|
| |
|
|
|
|
|
|
|
| |
TemplateSyntaxError strings.
This makes it much easier to diagnose a test failure when all
you have is the stack trace from an uncaught TemplateSyntaxError.
|