Пользовательское поле Django для хранения списка адресов электронной почты

Я пытаюсь добавить поле в модель Django, которое будет представлять список адресов электронной почты . Я хотел бы, чтобы пользователь ввел список адресов, разделенных запятыми, в форму в админке, которую мое приложение затем проанализирует для отправки серии писем.

Моя текущая реализация охватывает основную идею, но имеет существенное ограничение. В админке, если я ввожу строку вроде foo@example.com , bar@example.com , то он правильно записывает это в базу данных как [u ' foo@example.com ', u ' bar@example.com '] . Но администратор отображает это сериализованное значение вместо гуманизированной строки. Что еще более важно, если я отредактирую и сохраню запись без каких-либо изменений, то же преобразование изменится [u ' foo@example.com ', u ' bar@example.com '] на [ u "[u ' foo@example.com '», u "u 'bar@example.comsurname '&' given-names 'с заданными предикатами (на самом деле это либо / или то, что мне нужно, но объединение работает нормально):

/header/authors/surname[./text() and @id='1']
|
/header/authors/given-names[./text() and @id='1']

Однако это кажется мне слишком длинным, и я чувствую, что должно быть возможно сделайте что-нибудь более лаконичное, например:

/header/authors/(surname|given-names)[./text() and @id='1']

... но эта версия не является допустимым XPath.

Кто-нибудь может рассказать мне о более аккуратном способе написания исходного выражения XPath, которое не требует, чтобы полный путь был записан дважды ?

Спасибо

Ричард

11
задан Richard Corfield 2 November 2010 в 16:01
поделиться