В CreateWithInlinesView сохраните все 7 дополнительных форм из базы данных как значение по умолчанию (набор форм) Django
How to save all 7 extra forms which all of their's value are default?
this inline formset
class CompanySchedulePerDaysgraphInlineFormSetFactory(InlineFormSetFactory):
model = models.CompanySchedulePerDaysgraph
exclude = ('is_work_day',)
form_class = CompanySchedulePerDaysgraphModelForm
factory_kwargs = {
'can_delete': False,
'widgets': {'is_work_day': forms.CheckboxInput(attrs={'class': 'form-control'}),
'start_work': forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}),
'end_work': forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}), },
'extra': 7
}
*view.py*
class CompanyScheduleCreateView(LoginRequiredMixin, CreateWithInlinesView):
model = models.CompanyScheduleFreeGraph
inlines = [forms.CompanySchedulePerDaysgraphInlineFormSetFactory]
form_class = forms.CompanyScheduleFreeModelForm
template_name = 'backoffice/pages/company-schedule/create.html'
success_url = reverse_lazy('company_schedule')
def forms_valid(self, form, inlines):
response = self.form_valid(form)
for formset in inlines:
formset.instance = self.object
formset.save()
return response
def form_valid(self, form):
self.company = form.save(commit=False)
self.company.company = self.request.user.company
self.company.save()
return super().form_valid(form)
models.py
class CompanySchedulePerDaysgraph(models.Model): import datetime days_graph = models.ForeignKey(CompanyScheduleFreeGraph, on_delete=models.CASCADE) is_work_day = models.BooleanField(default=True) начало_работы = models.TimeField(default=datetime.time(9, 00)) конец_работы = models.TimeField(default=datetime.time(18, 00))
created_at = models.DateTimeField(auto_now_add=True)