Где определить пользовательскую обработку данных для m2m-поля в django
Допустим, я хочу, чтобы поле модели many to many 'tags' вводилось в виде списка, разделенного пробелами, если будет представлено нераспознанное имя, оно также должно быть создано в модели 'Tag'. Я знаю, что это может быть написано либо в:
- Уровень вида
- Уровень формы
- FormField level
- Уровень модели поля
Я хочу придерживаться принципа DRY настолько плотно, насколько это возможно.
На данный момент я определил его на уровне ModelForm, но моя установка не очень гибкая. Мне пришлось бы писать новые формы для каждой вариации в каждой части сайта, в которую я помещу это поле формы.