如何根据开始日期和编号的选择获取自动结束日期。旅行天数

时间:2021-05-24 11:57:34

标签: python django postgresql

我是 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.')

1 个答案:

答案 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()


    
相关问题