Merge pull request #558 from rpkilby/fix-verbose-name-proxy
Fix verbose field name util for lazy text
This commit is contained in:
commit
a95c528a9a
|
@ -172,9 +172,9 @@ def verbose_field_name(model, field_name):
|
|||
names = []
|
||||
for part in parts:
|
||||
if isinstance(part, ForeignObjectRel):
|
||||
names.append(part.related_name)
|
||||
names.append(force_text(part.related_name))
|
||||
else:
|
||||
names.append(part.verbose_name)
|
||||
names.append(force_text(part.verbose_name))
|
||||
|
||||
return ' '.join(names)
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ from __future__ import unicode_literals
|
|||
from django import forms
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
REGULAR = 0
|
||||
|
@ -45,7 +46,7 @@ class SubnetMaskField(models.Field):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class User(models.Model):
|
||||
username = models.CharField(max_length=255)
|
||||
username = models.CharField(_('username'), max_length=255)
|
||||
first_name = SubCharField(max_length=100)
|
||||
last_name = SubSubCharField(max_length=100)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ from django.test import TestCase, override_settings
|
|||
from django.db import models
|
||||
from django.db.models.constants import LOOKUP_SEP
|
||||
from django.db.models.fields.related import ForeignObjectRel
|
||||
from django.utils.functional import Promise
|
||||
|
||||
from django_filters.utils import (
|
||||
get_field_parts, get_model_field, resolve_field,
|
||||
|
@ -232,6 +233,14 @@ class VerboseFieldNameTests(TestCase):
|
|||
verbose_name = verbose_field_name(Book, 'lovers__first_name')
|
||||
self.assertEqual(verbose_name, 'lovers first name')
|
||||
|
||||
def test_lazy_text(self):
|
||||
# sanity check
|
||||
field = User._meta.get_field('username')
|
||||
self.assertIsInstance(field.verbose_name, Promise)
|
||||
|
||||
verbose_name = verbose_field_name(User, 'username')
|
||||
self.assertEqual(verbose_name, 'username')
|
||||
|
||||
|
||||
class VerboseLookupExprTests(TestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue