Нужно ли переопределить метод сохранения, чтобы добавить данные в разные модели из django UserCreationForm

Я хочу добавить еще одно поле в UserCreationForm, которое будет отображаться в RegistrationForm, я видел пару примеров для стекопотока для этой цели. Я имею в виду примеры, определяя различные RegisterForm, унаследованные от UserCreationForm, как объяснено в этом вопросе stackru: /questions/45129143/django-sozdaet-polzovatelskuyu-usercreationform

Но что я буду делать, если мои данные принадлежат 2 или 3 различным моделям, включая User модель? Затем я переопределю метод сохранения или сделаю что-то другое? Есть ли способ справиться с этим, не переходя на более низкий уровень, просто обрабатывая его в RegistrationForm, который будет унаследован от UserCreationForm? Какой способ лучше?

1 ответ

Решение

Хорошо, как вы видите в ссылке, есть много подходов, которые вы можете использовать, но ни один из них не выглядит так высоко, как вы хотите. Я не знаю, насколько вы знакомы с Django, но связанный аппрохот выглядит очень многообещающе. Он свежий, использует структуру сигналов (гибкий) и очень прост в реализации - достаточно высокого уровня для вашей проблемы. Обратите внимание на примеры UserProfile, потому что они очень похожи на вашу проблему и более обычны.

Если вы не хотите идти дальше с сигналами, самым простым решением было бы переопределить метод сохранения.

Таким образом, вы уже имели в виду решения. Imho, я не могу придумать лучшего или более высокого уровня решения.

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