Может ли Django принимать и проверять несколько значений в одном поле? - PullRequest
0 голосов
/ 30 октября 2018

Прежде всего, я хорошо знаком с использованием ForiegnKeys в моих моделях данных. Мне не нужен или не нужен этот комплекс отношений в данном конкретном сценарии. (Я собираю серверы имен и NTP-серверы для службы DHCP. Таблица для захвата таких серверов для использования в качестве FK будет излишней.)

Что мне действительно нужно, так это биты пользовательского интерфейса для захвата нескольких (скажем, от 0 до 4) IP-адресов и сохранения их в одном CharField в виде списка через запятую. Я знаю, что могу сделать это с помощью простого CharField и clean (), который разделяет запятые и проверяет каждый IP или использует регулярное выражение, которое ожидает несколько значений. Но есть ли лучший способ (с Django 2.0)? Я посмотрел на ComboField и MultiValueField, но примеров немного, и у меня сложилось впечатление, что они жесткие, сколько ожидаемых значений. Например, если GenericIPAddressField не существует, вы можете использовать MultiValueField для проверки каждого из 4 октетов.

Это будет использоваться на сайте администратора, если это имеет значение.

РЕДАКТИРОВАТЬ: уточнить необходимость пользовательского интерфейса (против хранения)

1 Ответ

0 голосов
/ 30 октября 2018

a JSONField может решить вашу проблему; Вы можете хранить все свои IP-адреса в одном объекте json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...