1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #21113 -- Made LogEntry.change_message language independent

Thanks Tim Graham for the review.
This commit is contained in:
Claude Paroz
2015-12-26 19:51:22 +01:00
parent 56aaae58a7
commit cf7894be88
11 changed files with 216 additions and 35 deletions

View File

@@ -2823,7 +2823,18 @@ password box.
.. attribute:: LogEntry.change_message
The detailed description of the modification. In the case of an edit, for
example, the message contains a list of the edited fields.
example, the message contains a list of the edited fields. The Django admin
site formats this content as a JSON structure, so that
:meth:`get_change_message` can recompose a message translated in the current
user language. Custom code might set this as a plain string though. You are
advised to use the :meth:`get_change_message` method to retrieve this value
instead of accessing it directly.
.. versionchanged:: 1.10
Previously, this attribute was always a plain string. It is
now JSON-structured so that the message can be translated in the current
user language. Old messages are untouched.
``LogEntry`` methods
--------------------
@@ -2832,6 +2843,14 @@ password box.
A shortcut that returns the referenced object.
.. method:: LogEntry.get_change_message()
.. versionadded:: 1.10
Formats and translates :attr:`change_message` into the current user
language. Messages created before Django 1.10 will always be displayed in
the language in which they were logged.
.. currentmodule:: django.contrib.admin
.. _admin-reverse-urls:

View File

@@ -51,6 +51,11 @@ Minor features
model's changelist will now be rendered (without the add button, of course).
This makes it easier to add custom tools in this case.
* The :class:`~django.contrib.admin.models.LogEntry` model now stores change
messages in a JSON structure so that the message can be dynamically translated
using the current active language. A new ``LogEntry.get_change_message()``
method is now the preferred way of retrieving the change message.
:mod:`django.contrib.admindocs`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -417,6 +422,10 @@ Miscellaneous
* :djadmin:`loaddata` now raises a ``CommandError`` instead of showing a
warning when the specified fixture file is not found.
* Instead of directly accessing the ``LogEntry.change_message`` attribute, it's
now better to call the ``LogEntry.get_change_message()`` method which will
provide the message in the current language.
.. _deprecated-features-1.10:
Features deprecated in 1.10