mirror of
https://github.com/django/django.git
synced 2024-12-31 21:46:05 +00:00
Fixed #35232 -- Cached model's Options.verbose_name_raw.
This commit is contained in:
parent
28a3fbe004
commit
f25d84f61a
@ -395,9 +395,11 @@ class Options:
|
|||||||
)
|
)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@property
|
@cached_property
|
||||||
def verbose_name_raw(self):
|
def verbose_name_raw(self):
|
||||||
"""Return the untranslated verbose name."""
|
"""Return the untranslated verbose name."""
|
||||||
|
if isinstance(self.verbose_name, str):
|
||||||
|
return self.verbose_name
|
||||||
with override(None):
|
with override(None):
|
||||||
return str(self.verbose_name)
|
return str(self.verbose_name)
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
|
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
|
||||||
class Relation(models.Model):
|
class Relation(models.Model):
|
||||||
@ -124,6 +125,9 @@ class Person(BasePerson):
|
|||||||
# GR fields
|
# GR fields
|
||||||
generic_relation_concrete = GenericRelation(Relation)
|
generic_relation_concrete = GenericRelation(Relation)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _("Person")
|
||||||
|
|
||||||
|
|
||||||
class ProxyPerson(Person):
|
class ProxyPerson(Person):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -222,6 +222,17 @@ class GetFieldByNameTests(OptionsBaseTests):
|
|||||||
opts.apps.models_ready = True
|
opts.apps.models_ready = True
|
||||||
|
|
||||||
|
|
||||||
|
class VerboseNameRawTests(SimpleTestCase):
|
||||||
|
def test_string(self):
|
||||||
|
# Clear cached property.
|
||||||
|
Relation._meta.__dict__.pop("verbose_name_raw", None)
|
||||||
|
self.assertEqual(Relation._meta.verbose_name_raw, "relation")
|
||||||
|
|
||||||
|
def test_gettext(self):
|
||||||
|
Person._meta.__dict__.pop("verbose_name_raw", None)
|
||||||
|
self.assertEqual(Person._meta.verbose_name_raw, "Person")
|
||||||
|
|
||||||
|
|
||||||
class RelationTreeTests(SimpleTestCase):
|
class RelationTreeTests(SimpleTestCase):
|
||||||
all_models = (Relation, AbstractPerson, BasePerson, Person, ProxyPerson, Relating)
|
all_models = (Relation, AbstractPerson, BasePerson, Person, ProxyPerson, Relating)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user