我正在编写一个用于标记照片的应用。其中一个视图处理添加新标签,没有用于POST / GET的样板和处理字段错误,它执行此操作:
tagName = request.cleaned_attributes['tagName']
t = Tag.objects.create(name = tagName)
t.save()
现在在另一个请求中检索我拥有的所有标记:
tags = Tag.objects.all()
我只在重启Django开发服务器后才看到数据,这对我来说很奇怪。好像Tag.objects.all()
有一些缓存机制没有正确无效?数据肯定会保存到数据库中。
数据库后端为sqlite
。我想我要么缺少一些配置,要么忘记做一些简单的事情。想法?
答案 0 :(得分:3)
Tag.objects.all()
是一个QuerySet。在您对evaluate执行某些操作之前,这些操作不会访问数据库。那么,你在视图中究竟是如何使用它的呢?如果您使用通用视图并通过extra_context
传递查询集,例如wouldn't be re-evaluated。
另外,另外,Tag.objects.create(name = tagName)
将automatically save添加到数据库。