Django字段用于计时



我有以下代码:

型号.py

class Job(models.Model):
jobname = models.CharField(max_length = 1000)
owner = models.CharField(max_length = 150)
enabled = models.BooleanField()
freq_type = models.IntegerField(default = 1)
freq_interval = models.IntegerField(default = 0)
freq_recurrence = models.IntegerField(default = 0)
start_date=models.CharField(max_length=10)
end_date=models.CharField(max_length=10, blank = True)
start_time=models.CharField(max_length=6)
end_time=models.CharField(max_length=6, blank = True)
date_added = models.DateTimeField(auto_now_add = True, null = True)
date_modified=models.DateTimeField(auto_now = True, null = True)
version=models.IntegerField(default = 1)

views.py

def job_edit(request, pk):
job = Job.objects.get(pk=pk)
if request.method =="POST":
job_form = JobForm(request.POST)          
if job_form.is_valid():
option = request.POST.get('check')
time = request.POST.get('servicetime')
date = request.POST.get('servicedate')
version = request.POST.get('version')
Job.objects.filter(pk=pk).update(enabled=option,start_time = time,start_date = date,version = version)
return redirect('/job/', {'job':Job.objects.all})
return render(request, 'interface/job_edit.html',{'job': job})

当我为Job创建条目时,date_aded和date_modified将存储相同的日期和时间。(不确定这是否是auto_now_addauto_now的预期方式(。但是,当我尝试编辑同一条目时,这个date_modified根本不会改变。我的功能中有什么遗漏吗?像触发这个auto_now插入时间的东西一样,我编辑条目

根据文档,auto_now字段在save上更新,但在update:上不更新

The field is only automatically updated when calling Model.save().
The field isn’t updated when making updates to other fields in other ways
such as QuerySet.update(), though you can specify a custom value for the field
in an update like that.

最新更新