{"action":"created","issue":{"url":"https://api.github.com/repos/Suor/django-cacheops/issues/141","labels_url":"https://api.github.com/repos/Suor/django-cacheops/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/Suor/django-cacheops/issues/141/comments","events_url":"https://api.github.com/repos/Suor/django-cacheops/issues/141/events","html_url":"https://github.com/Suor/django-cacheops/pull/141","id":68615459,"number":141,"title":"Update() isn't updating the cache at all","user":{"login":"EmilStenstrom","id":224130,"avatar_url":"https://avatars.githubusercontent.com/u/224130?v=3","gravatar_id":"","url":"https://api.github.com/users/EmilStenstrom","html_url":"https://github.com/EmilStenstrom","followers_url":"https://api.github.com/users/EmilStenstrom/followers","following_url":"https://api.github.com/users/EmilStenstrom/following{/other_user}","gists_url":"https://api.github.com/users/EmilStenstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/EmilStenstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EmilStenstrom/subscriptions","organizations_url":"https://api.github.com/users/EmilStenstrom/orgs","repos_url":"https://api.github.com/users/EmilStenstrom/repos","events_url":"https://api.github.com/users/EmilStenstrom/events{/privacy}","received_events_url":"https://api.github.com/users/EmilStenstrom/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-04-15T08:41:21Z","updated_at":"2015-04-15T09:07:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Suor/django-cacheops/pulls/141","html_url":"https://github.com/Suor/django-cacheops/pull/141","diff_url":"https://github.com/Suor/django-cacheops/pull/141.diff","patch_url":"https://github.com/Suor/django-cacheops/pull/141.patch"},"body":"I'm in the process of converting a big Django johnny-cache project to cacheops. I'm unable to get update() queries to work properly. We use them to avoid running signals for some queries.\r\n\r\nI've created a failing test case that shows the bug in action.\r\n\r\nWould you mind taking a look and see if this is fixable?"},"comment":{"url":"https://api.github.com/repos/Suor/django-cacheops/issues/comments/93273863","html_url":"https://github.com/Suor/django-cacheops/pull/141#issuecomment-93273863","issue_url":"https://api.github.com/repos/Suor/django-cacheops/issues/141","id":93273863,"user":{"login":"EmilStenstrom","id":224130,"avatar_url":"https://avatars.githubusercontent.com/u/224130?v=3","gravatar_id":"","url":"https://api.github.com/users/EmilStenstrom","html_url":"https://github.com/EmilStenstrom","followers_url":"https://api.github.com/users/EmilStenstrom/followers","following_url":"https://api.github.com/users/EmilStenstrom/following{/other_user}","gists_url":"https://api.github.com/users/EmilStenstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/EmilStenstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EmilStenstrom/subscriptions","organizations_url":"https://api.github.com/users/EmilStenstrom/orgs","repos_url":"https://api.github.com/users/EmilStenstrom/repos","events_url":"https://api.github.com/users/EmilStenstrom/events{/privacy}","received_events_url":"https://api.github.com/users/EmilStenstrom/received_events","type":"User","site_admin":false},"created_at":"2015-04-15T09:07:29Z","updated_at":"2015-04-15T09:07:29Z","body":"I see, I should have read the CAVEATES more carefully.\r\n\r\nThe rationale for purposefully deactivating signals is that this is how we have implemented denormalized fields in this project. When a Model is updated, we have attached several post_save signals to that model. Each signal saves down denormalized information on the model objects, that is later used to avoid SQL joins queries. Most of our denormalized fields work like this, and sprinkling them with invalidate_obj seems like a very dirty solution.\r\n\r\nDid johnny-cache implement invalidation for update queries very inefficiently?"}}