django - Django:为同一表单的不同出现自动保存不同的默认日期?
问题描述
构建一个 Django 应用程序,在该应用程序中,一周中的每一天都需要输入体重和卡路里数据并将其保存到相应的日期。
我目前对其进行了设计,以便模板呈现周一、周二、周三等,每天都有一个表单,通过模型表单连接到相同的模式。我的问题是,auto_now
日期是固定的auto_now_add
。default=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)
提前感谢您的任何建议。
解决方案
你应该考虑有一个隐藏的字段。因此,您将从模型中删除自动日期。
然后手动添加一个隐藏的输入字段,并在其中将日期分配给值。
<input type="hidden" value="{{week_date}}">
然后你需要一些 python 代码来获取本周的所有日期。
推荐阅读
- python-3.x - 我有中断程序的问题
- image-processing - 如何对rgb图像进行全灰度图像操作?
- rest - 对于只包含部分答案的 REST 响应,我应该使用什么 HTTP 状态代码?
- python - 遵循教程后 Python 'py2exe' 不起作用
- python - django naturaltime 返回相同的结果
- firebase - StreamBuilder 中的 Cloud Firestore 读取计数
- java - 由多个 webapps 共享的 restapi 的身份验证
- c - 'char *' 和 'char (*) [100]' 有什么区别?
- r - 如何从多列中提取频率数据以制作条形图?
- python - 无法使用证书将 GET 发送到 HTTPS 服务,错误:证书验证失败:自签名证书