Цель состоит в том, чтобы пользователь мог сохранить модель маркировки только в том случае, если дата, которую он помещает, находится в диапазоне дат, от start_date до end_date, модели DateRange и если для поля включено значение True.
models.py:
class DateRange(models.Model):
class Meta:
ordering = ['-first_date']
start_date = models.DateField(blank=False, null=True, verbose_name='Start Date')
end_date = models.DateField(blank=False, null=True, verbose_name='End Date')
enable = models.BooleanField(default=False, verbose_name='Enable')
def __str__(self):
return '{} to {} is {}'.format(self.first_date, self.end_date, self.enable)
class Marking(models.Model):
class Meta:
ordering = ['-first_date']
date = models.DateField(blank=False, null=True, verbose_name='Date')
order = models.BooleanField(default=False, verbose_name='Order')
def __str__(self):
return '{} / {}'.format(self.date, self.order)
forms.py
class DateRangeForm(forms.ModelForm):
class Meta:
model = DateRange
fields = [
'start_date',
'end_date',
'enable',
]
class MarkingForm(forms.ModelForm):
class Meta:
model = Marking
fields = [
'date',
'order',
]
views.py
def add_marking(request):
form = MarkingForm(request.POST or None, request.FILES or None)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
return HttpResponseRedirect(reverse("marking_info"))
context = {"form": form}
return render(request, 'add_marking.html', context)
Я пробовал несколько вариантов, но ни один из них не работал.Может ли кто-нибудь помочь мне на правильном пути?Спасибо!