我是 Django 和编码的新手。在分别在 MDN 和 Django 上完成本地图书馆和民意调查教程之后。 我现在正在开发旅行行程应用程序。我希望我的模型应该能够采用用户输入的开始日期,并根据用户选择的夜数自动填充结束日期。
示例: 开始日期:09-7-21 晚数:05 结束日期:14-7-21
models.py 的代码如下,我将在这个项目中使用 Postgresql DB
class Packages(models.Model):
title_package = models.CharField(max_length=300)
no_of_nights = models.SmallIntegerField()
summary = models.TextField(max_length=3000)
start_date = models.DateField(help_text='should not allow client to book in past')
end_date = models.DateField(help_text='based on start date selection and no. of nights client is staying.')
答案 0 :(得分:1)
您可以按如下方式计算视图 form_valid 的结束日期:
def form_valid(self, form):
instance = form.save(commit=False)
start_date = form.cleaned_data.get('start_date')
no_of_nights = form.cleaned_data.get('no_of_nights')
instance.end_date = start_date + timedelta(days=no_of_nights)
instance.save()