Я пытаюсь создать мастер для заполнения данных в DataBase. Я стараюсь session.Wizard без успеха, и я не думаю, что это то, что нужно. исправьте меня, если я ошибаюсь.FormView CBV change ModelForm за запрос
поэтому в моей базе данных есть несколько таблиц, которые должны быть заполнены, из-за суставов, которые необходимо выполнить, я хотел сделать хороший мастер, который доставит вас по пути.
так что у меня есть базовый шаблон, который будет иметь шаги, иногда нет необходимости создавать новые данные, если они все готовы. , поэтому я сделал отображение каждой таблицы в шаблоне, чтобы пользователь мог проверить, содержит ли таблица то, что ему нужно для следующего шага, или ему нужно его создать.
Я сделал ОЦК FormView , и я пытаюсь получить шаг от GET и загрузить необходимую ModelForm
model.py
Class A(models.Model):
user = CharField()
class B(models.Model):
pupy = CahrField()
form.py
AForm(forms.ModelForm):
class Meta:
model=A
fields = ['user']
BForm(forms.ModelForm):
class Meta:
model=B
fields = ['pupy']
Просмотры .py
class Wizard(FormView)
template_name = 'test.html'
def get(self, request, *args, **kwargs):
self.step = self.request.GET.get('step')
self.form_class = FORM[self.step] # FORM = dict {'step': ModelForm}
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
Я не могу набрать здесь все, что я пробовал до сих пор, в основном я действительно получил свою форму в html, щелкнув ссылки , но у меня есть trub, сохраняющий их, мне удалось сохранить первую форму if II сделать
def __init__
self.step = 'first_step'
только как тест
мне нужно, чтобы изменить свои имена классов и форм, но простая идея является отличным решением для меня –