Можно ли получить значение из опции в выпадающем списке в Django? - PullRequest
0 голосов
/ 10 октября 2019

Итак, в настоящее время я добавляю новые данные через модель, которую я зарегистрировал, на сайт администратора django, в результате чего модель состоит из 3 текстовых полей (адрес электронной почты, страна, номер телефона). Я также провожу проверку телефонных номеров с помощью пакета телефонных номеров PyPI, чтобы проверить, является ли введенный номер номером, который существует или имеет неправильный формат. Однако для этой проверки мне нужно проанализировать текст в текстовом поле страны (например, для США) в качестве аргумента в коде проверки, чтобы узнать, является ли число действительным или поддельным, и в настоящее время я могу передать текст, но пользователи будутнеобходимо ввести «США» вместо выбора из списка стран, например, из выпадающего списка. Я хочу улучшить этот формат, внедрив раскрывающийся список, чтобы заменить текущее текстовое поле страны списком стран для выбора, но когда пользователь выбирает страну Соединенные Штаты, на внешнем интерфейсе должно отображаться «Соединенные Штаты». в раскрывающемся списке, но значение, как в html-контексте, должно быть «US», и я хочу вместо этого проанализировать «US» вместо внутреннего, чтобы выполнить проверку, но по-прежнему отображать слова «United States» для просмотра пользователями. В настоящее время я понятия не имею, как реализовать это и возможно ли получить значение из выпадающего списка. Пожалуйста, скажите мне, возможно ли это или какие-либо другие методы, на которые я должен смотреть.

1 Ответ

0 голосов
/ 10 октября 2019

Для этого вам необходимо добавить в базу данных дополнительное поле с кратким кодом страны.

Например, вместо CharField вы можете использовать ForeignKey для новой модели с именем Country.

И эта Страна может быть реализована так:

class Country(models.Model):
    name = models.CharField(max_length=256)
    code = models.CharField(max_length=2)

    def __str__(self):
        return self.name

Или вы можете использовать Пакет Django Страны , который включает в себя все страны, их коды и флаги (поэтому вместо этогокода вы можете показать флаг страны). Вы можете указать список стран, если они вам не нужны.

...