Django保存对象 - 工作,但对象的值似乎被缓存,直到我重新启动服务器

时间:2009-08-12 04:41:14

标签: python django django-models

我正在编写一个用于标记照片的应用。其中一个视图处理添加新标签,没有用于POST / GET的样板和处理字段错误,它执行此操作:

tagName = request.cleaned_attributes['tagName']
t = Tag.objects.create(name = tagName)
t.save()

现在在另一个请求中检索我拥有的所有标记:

tags = Tag.objects.all()

我只在重启Django开发服务器后才看到数据,这对我来说很奇怪。好像Tag.objects.all()有一些缓存机制没有正确无效?数据肯定会保存到数据库中。

数据库后端为sqlite。我想我要么缺少一些配置,要么忘记做一些简单的事情。想法?

1 个答案:

答案 0 :(得分:3)

Tag.objects.all()是一个QuerySet。在您对evaluate执行某些操作之前,这些操作不会访问数据库。那么,你在视图中究竟是如何使用它的呢?如果您使用通用视图并通过extra_context传递查询集,例如wouldn't be re-evaluated

另外,另外,Tag.objects.create(name = tagName)automatically save添加到数据库。