【问题标题】:Django saving objects - works, but values of objects seem to be cached until I restart serverDjango保存对象 - 工作,但对象的值似乎被缓存,直到我重新启动服务器
【发布时间】:2009-08-12 04:41:13
【问题描述】:

我正在编写一个用于标记照片的应用程序。其中一个视图处理添加新标签并且没有 POST/GET 的样板文件和处理字段错误,它这样做:

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

现在正在查看另一个请求以检索我拥有的所有标签:

tags = Tag.objects.all()

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

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

【问题讨论】:

  • 你安装了什么中间件?
  • 这是一个无关紧要的问题。我的问题在于完全不同的东西(有一些额外的代码造成了大部分的混乱,阻止了对象被保存)。现在这个问题可能会误导那些在创建对象方面确实有问题的人。让我们删除它。

标签: python django django-models


【解决方案1】:

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

另外,顺便说一句,Tag.objects.create(name = tagName)automatically save 到数据库。

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 2013-08-08
    • 2015-06-18
    • 2013-07-09
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多