Поля django-localflavor не отображаются в моделях администратора Django?

Я пытаюсь внедрить django-localflavors в мое приложение Django.

Я импортирую USStateSelect & USZipCodeField в начале файла models.py, а затем включаю их в качестве поля в мою модель вместе с другими полями, например:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect()
     zip_5 = USZipCodeField()

Однако, когда я захожу к администратору Django и пытаюсь создать новый объект Model, я вижу все остальные поля, которые я написал (CharFields и т. Д.), КРОМЕ какого-либо из полей localflavor. Они просто не отображаются вообще как поле ввода в моей форме объекта Model. Я выполнил миграцию в своей базе данных, поэтому проблема не в этом.

Я неправильно понимаю, как использовать django-localflavor? В ответе на другой пост я прочитал, что localflavor на самом деле не создает поля ввода, только хранит данные... но потом я также прочитал, что он позволяет вам вводить данные. На данный момент я в замешательстве. Любая помощь будет оценена!

2 ответа

Вам нужно указать вариант выбора.

Измените ваш код, как показано ниже:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect(choices=STATE_CHOICES) # add choices
     zip_5 = USZipCodeField() # no change on this line

Я думаю, что вы ищете, это модельные поля. Поля формы используются при создании ваших собственных форм (обычно за пределами администратора, например, контактной формы). Localflavor имеет пару полей, которые должны делать то, что вам нужно. Обратите внимание, что это по существу CharFields, которые имеют некоторую дополнительную проверку, чтобы убедиться, что следуют желаемому формату.

Другие вопросы по тегам