Вы, вероятно, ошибаетесь, используя способ обработки данных, отличный от Django.
Сила Django заключается в очень надежной системе форм, которая может генерировать формы для вас, а также справляться с такими общими задачами, каксохранение записей в базе данных, проверка формы и т. д.
Я знаю, что это больно, но действительно того стоит потратить некоторое время на просмотр книги Django и выполнить несколько типовых упражнений, чтобыВы можете познакомиться с основами Django.Имея это в виду, вы можете думать о том, какие шаги вы предпримете, чтобы продвинуться вперед в том, что вы на самом деле хотите сделать.
Ваш особый случай, так что простой набор форм или ModelForm на самом деле не сработают.вот имплементация, которую я бы порекомендовал.
models.py
class Log(models.Model):
# whatever fields you want
date_hidden = models.DateTimeField(null=True, blank=True)
forms.py
class LogDisplayForm(forms.Form):
logs_to_hide = forms.ModelChoiceField(required=False, queryset=Log.objects.exclude(date_hidden__isnull=False)
def save(self, *args, **kwargs):
if self.cleaned_data.get('logs_to_hide'):
Log.object.filter(pk__in=self.cleaned_data['logs_to_hide']).update(date_hidden=datetime.datetime.now())
Затем в форме шаблона просто переименуйте list1 в logs_to_hide и убедитесь, что значение поля является первичным ключом записи журнала.Это предполагает, что вы прочитали о том, как на самом деле работает Django, и знаете, как вы будете обрабатывать проверку формы и сохранение формы в представлении.
Обратите внимание, что приведенный мною код неполон и не будет работать без значительногодополнительная работа с вашей стороны. Что является точкой .