{"action":"closed","issue":{"url":"https://api.github.com/repos/ara818/django-autocompleter/issues/4","labels_url":"https://api.github.com/repos/ara818/django-autocompleter/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/ara818/django-autocompleter/issues/4/comments","events_url":"https://api.github.com/repos/ara818/django-autocompleter/issues/4/events","html_url":"https://github.com/ara818/django-autocompleter/issues/4","id":7366021,"number":4,"title":"Pre-save / post-delete system does not account for save() failures","user":{"login":"ara818","id":83293,"avatar_url":"https://avatars.githubusercontent.com/u/83293?v=3","gravatar_id":"","url":"https://api.github.com/users/ara818","html_url":"https://github.com/ara818","followers_url":"https://api.github.com/users/ara818/followers","following_url":"https://api.github.com/users/ara818/following{/other_user}","gists_url":"https://api.github.com/users/ara818/gists{/gist_id}","starred_url":"https://api.github.com/users/ara818/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ara818/subscriptions","organizations_url":"https://api.github.com/users/ara818/orgs","repos_url":"https://api.github.com/users/ara818/repos","events_url":"https://api.github.com/users/ara818/events{/privacy}","received_events_url":"https://api.github.com/users/ara818/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ara818/django-autocompleter/labels/bug","name":"bug","color":"e10c02"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2012-10-04T23:28:08Z","updated_at":"2015-03-12T19:08:51Z","closed_at":"2015-03-12T19:08:51Z","body":"Currently, there is a pre-save signal that removes an object from the autocompleter, then a post save adds it back. This is to account for term changes on the object that would affect the autocompleter. However, if for some reason the save() on the object fails then the post-save never happens and the object is lost from the autocompleter.\r\n\r\nWe should update so that there is no pre-save() and all the data needed to remove an object from the AC is in redis and so the remove/add in the AC both happen on post_save."}}