Недавно я обновился с Django Mezzanine с 1.4 до 3.1.4. Переход прошел гладко, за исключением ошибки с моделями, расширяющими класс Mezzanine Page. Когда я вызываю свойство get_FOO_display для любого поля выбора, я получаю короткое имя с &
между каждым символом. Например, если у меня есть тестовый класс:
from mezzanine.pages.models import Page
class TestModel(Page):
CHOICES = (
('ab', "Aardvarks and Bubblegum"),
('cd', "Coocoos and Diphtheria"),
)
prop = models.CharField(max_length=2, choices=CHOICES)
Я получаю следующее в оболочке Django:
In [1]: from project.models import TestModel
In [2]: test = TestModel(prop="ab")
In [3]: test.get_prop_display()
Out[3]: u'a & b'
Если моя модель просто расширяет models.Model
вместо Page
, get_prop_display()
работает, как и ожидалось, и я получаю Out[3]: Aardvarks and Bubblegum
Любые идеи приветствуются.