我想覆盖Django表单保存方法,以便能够一次创建多个对象.
我有一款AvailableHours型:
class AvailableHours(models.Model):
free_date = models.ForeignKey(AvailableDates,null=True, blank=True,on_delete=models.CASCADE,related_name='freedate')
free_hours_from = models.IntegerField(null=True, blank=True)
free_hours_to = models.IntegerField(null=True, blank=True,)
status = models.BooleanField(null=True,default=True,)
我有一个这个类的ModelForm:
class TimeGenerator(forms.ModelForm):
class Meta:
model = AvailableHours
fields = ['free_date','free_hours_from','free_hours_to','status']
def save(self, commit=True):
m = super(TimeGenerator, self).save(commit=False)
self.free_hours_from = self.cleaned_data['free_hours_from']
self.free_hours_to = self.cleaned_data['free_hours_from'] +1
m.save()
for hour in range(self.cleaned_data['free_hours_from'],self.cleaned_data['free_hours_to']+1):
self.free_hours_from = self.cleaned_data['free_hours_from']+hour
self.free_hours_to = self.cleaned_data['free_hours_from']+hour+1
print(hour)
m.save()
我想创建多个AvailableHour对象,如下所示: 如果将表单设置为FREE_HOURS_FROM=13和FREE_HOURS_TO=16 因此,保存方法创建13-14、14-15、15-16
我在上面的表单中写了一段代码,并覆盖了save(),但它不起作用. 有人有解决办法吗?