Я пытаюсь реализовать функцию, в которой я могу сохранить частично заполненную форму (ModelForm), вернуться позже, заполнить форму и, наконец, отправить ее.
Рабочий процесс:
- Отображение пустой формы.
- Пользователь заполняет некоторые данные.
- Пользователь нажимает кнопку Сохранить.
- Проверка данных, предоставленных пользователем.
- Отображение формы с ошибками.
- Пользователь заполняет правильные данные.
- Пользователь нажимает кнопку Сохранить еще раз.
- Сохранить формузначения в базе данных.
- Пользователь выходит из системы.
- Пользователь входит в систему и возобновляет частично заполненную форму.
- Пользователь заполняет остальные данные.
- Пользователь нажимает кнопку Сохранить и отправить.
- Проверка данных, предоставленных пользователем.
- Отображение формы с ошибками.
- Пользователь заполняет правильные данные.
- Пользователь нажимает кнопку Сохранить и снова отправить.
- Обработать заполненную форму.
models.py
class Post(models.Model):
submitted = models.ForeignKey(User, on_delete=models.CASCADE)
post_name = models.CharField(max_length=255)
post_decription = models.TextField(max_length=500)
post_start = models.DateTimeField()
post_end = models.DateTimeField()
post_duration = models.DurationField(default=timedelta(days=1))
is_published = models.BooleanField(default=False)
request_approval = models.BooleanField(default=False)
list_date = models.DateTimeField(default=datetime.now)
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = Post
exclude = ("submitted", 'post_duration', "list_date", "is_published", "request_approval")
widgets = {
'post_start': DatePickerInput(),
'post_end': DatePickerInput(),
}