Я использую James Bennetts code для создания динамической формы. У меня все работает, но вы хотите сохранить данные в базе данных. Кто-нибудь получил какой-либо код, который делает это или может показать мне, что лучший способ сделать это будет, например. как настроить модель и т. д.?Django Dynamic Forms
ответ
Override save()
метод на вашем классе формы:
def save(self):
new_user = User.objects.create_user(username=self.cleaned_data['username'],
email=self.cleaned_data['email'],
password=self.cleaned_data['password1'])
return new_user
(взято из блога Джеймса Беннета в Newforms, part 2)
У меня нет объекта для переопределения, поскольку он каждый раз отличается и генерируется на fly – John
Я понимаю, что ваш код основан на его версии 'make_contact_form', которая использует' type' для генерации класса? –
Да, это правильно. Я планирую расширить его код, чтобы вместо жесткого кодирования, которые формируют элементы, я вытащу их из таблицы базы данных, которая заполняется пользователем – John
Вы должны показать нам код, чтобы помочь вам - как вы используете формы .Form или forms.ModelForm. По большей части, хотя, с первым, вы можете определить метод save() для формы и получить доступ к данным из cleaned_data. –
код, который я использую, копируется непосредственно из статьи Джеймса Беннета (см. Строку выше). Он не использует ни формы .form, либо form.modelform, он автоматически генерирует элементы формы «на лету», которые я хочу добавить в базу данных. – John