【问题标题】:Django: Autosave different default dates for different occurrences of the same form?Django:为同一表单的不同出现自动保存不同的默认日期?
【发布时间】:2020-11-21 23:15:03
【问题描述】:

构建一个 Django 应用程序,每周的每一天都需要输入体重和卡路里数据并保存到相应的日期。

我目前对其进行了设计,以便模板呈现周一、周二、周三等,每天都有一个表单,通过模型表单连接到相同的模式。我的问题是auto_nowauto_now_adddefault=today.date() 的日期是固定的。即 - 如果星期一是本月的 1 日,我希望这样当用户输入他星期二的体重和卡路里时,它会自动保存到本月的 2 日。这是我的代码:

模板:

     <form method='POST'> {% csrf_token %}
     {{ mainform.as_p }}
     <input type="submit" value="save" />
     </form>
     Tuesday
     <form method='POST'> {% csrf_token %}
     {{ mainform.as_p }}
     <input type="submit" value="save" />

表格:

    class Meta:
        model = Daily_Inputs
        fields = [
            "Daily_Weight",
            "Daily_Cals",
            "Daily_Date",
        ]

查看:

    initinputz = Initial_Inputs.objects.filter(user=request.user)
    mainform = Daily_Inputs_Form()
    if request.method == 'POST':
        mainform = Daily_Inputs_Form(request.POST)
        if mainform.is_valid():
            maininstance = mainform.save(commit=False)
            maininstance.user = request.user
            maininstance.save()
 
    context = {
        'initz': initinputz,
        'mainform': mainform,
    }

    return render(request, "pages/home.html", context)

型号:

    Daily_Weight = models.DecimalField(max_digits=4, decimal_places=2, verbose_name=None, null=True)
    Daily_Cals = models.IntegerField(verbose_name=None, null=True)
    Daily_Date = models.DateField(default=date.today())
    user = models.ForeignKey(User,on_delete=models.CASCADE,default=None, null=True)

提前感谢您的任何建议。

【问题讨论】:

    标签: django django-models django-forms django-views django-templates


    【解决方案1】:

    您应该考虑有一个隐藏字段。所以你会从模型中删除自动日期。

    然后手动添加一个隐藏的输入字段,并在其中将日期分配给值。

    <input type="hidden" value="{{week_date}}">
    

    然后你需要一些 python 代码来获取当前一周的所有日期。

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 2013-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多