我想了解为什么我需要重新运行Django服务器才能观察.save()
方法的效果。
上载新文档时,我使用的代码使我可以查看该文档是否为最新文档。例如,我将过期时间设置为上传部分后的15秒(15秒是出于测试目的,这将是生产中的1周)。
我上了这个课:
class DocumentListView(CreateView):
""" Render the home page """
template_name = 'documentList.html'
form_class = DocumentForm
def get_context_data(self, **kwargs):
now = timezone.now()
for document in Document.objects.all():
expiration_delay = document.creation_date + timedelta(seconds=15)
if now > expiration_delay:
document.new_document = False
document.save()
kwargs['document_list'] = Document.objects.all().order_by('publication__category__name')
return super(HomeView, self).get_context_data(**kwargs)
它可以正常工作,但是15秒后,当我想刷新页面时,该标记仍然存在。仅当我重新运行Django服务器时,它才会消失。