diff --git a/posts/admin.py b/posts/admin.py index e28cf913f5..f0913ce84b 100644 --- a/posts/admin.py +++ b/posts/admin.py @@ -111,12 +111,13 @@ def update_pseudo_materialized_fields_button(self, obj): return format_html( '{}', url, - "Update Materialized Fields (e.g. open time)", + ( + "Update Cached Fields (e.g. open time, scheduled close time, " + "forecasters_count, etc.)" + ), ) - update_pseudo_materialized_fields_button.short_description = ( - "Update Marterialized Fields" - ) + update_pseudo_materialized_fields_button.short_description = "Update Cached Fields" def other_project_count(self, obj): return obj.projects.count() @@ -203,7 +204,8 @@ def process_update_pseudo_materialized_fields_request( messages.error(request, "Post not found.") return redirect("admin:posts_post_changelist") post.update_pseudo_materialized_fields() - messages.success(request, "Updated Materialized Fields") + post.update_cached_fields() + messages.success(request, "Updated Cached Fields") return redirect(reverse("admin:posts_post_change", args=[post.pk])) def get_fields(self, request, obj=None): diff --git a/posts/models.py b/posts/models.py index ee5604f63b..589424d2ed 100644 --- a/posts/models.py +++ b/posts/models.py @@ -870,6 +870,12 @@ def update_comment_count(self): return self.comment_count + def update_cached_fields(self): + self.update_forecasts_count() + self.update_forecasters_count() + self.update_vote_score() + self.update_comment_count() + def __str__(self): return self.title