Установить значение по умолчанию Django Models

Мне нужно установить дату в Enddate, если пользователь не ввел ее, взяв значение из ввода Starting, Допустим, у меня есть такая модель:

class DataSet(models.Model):
Event     = models.CharField(max_length=50,blank=True ,null=True)
Starting   = models.DateField()
Enddate   = models.DateField(blank=True ,null=True)
Times     = models.PositiveIntegerField(max_length=4,blank=True ,null=True)
postdate    = models.DateTimeField(auto_now_add=True)
author      = models.ForeignKey(User,on_delete=models.CASCADE)
def __str__(self):
    return self.Stating
class Meta:
    ordering = ('-Enddate',)

а форма -

class DataSet_F(forms.ModelForm):
Event    = forms.CharField(label='Event')
Starting = forms.DateField(label='Start date',widget=forms.DateInput(attrs={"class":"form-control", 'type':'date'}))
Enddate  = forms.DateField(label='End date',required =False,widget=forms.DateInput(attrs={"class":"form-control", 'type':'date'}))
Times    = forms.IntegerField(label='Time',required =False)
class Meta:
    model= DataSet
    fields=['Event','Starting','Enddate','Times']

Как мне установить Enddate равным Starting, если пользователь не ввел значение, а затем установить Times равным 1. Большое спасибо

Я нашел решение и это было так просто :)

class PostCreateEVENT(LoginRequiredMixin, CreateView):
model = DataSet
template_name = 'Home/EVENTS/Add_event.html'
form_class = DataSet_F
def form_valid(self, form):
    form.instance.author = self.request.user
    if form.instance.Enddate:
        pass
    else:
        form.instance.Enddate=form.instance.Starting
        form.instance.Times  =1
    return super().form_valid(form)

СПАСИБО ВСЕМ ЗА МОТИВАЦИЮ

Я также нашел другой способ непосредственно в форме

class DataSet_F(forms.ModelForm):
     Event    = forms.CharField(label='Event')
     Starting = forms.DateField(label='Start date',widget=forms.DateInput(attrs={"class":"form-control", 'type':'date'}))
     Enddate  = forms.DateField(label='End date',required =False,widget=forms.DateInput(attrs={"class":"form-control", 'type':'date'}))
     Times    = forms.IntegerField(label='Time',required =False)

     def __init__(self, *args, **kwargs):
        super(DataSet_F, self).__init__(*args, **kwargs)
        if self.fields['Enddate']:
           pass
        else:
           self.fields['Enddate']=self.fields['Starting']
           self.fields['Times']  =1
    class Meta:
       model= DataSet
       fields=['Event','Starting','Enddate','Times']
Вернуться на верх