From 540223fc438f5c88a0144eaadf3b73b4d2b13539 Mon Sep 17 00:00:00 2001 From: lsabor Date: Fri, 20 Feb 2026 11:50:48 -0800 Subject: [PATCH 1/2] quickfix/forecaster-count-quick-update add update_cached_fields method to post model and call it when the button is pressed in admin --- posts/admin.py | 10 +++++++--- posts/models.py | 6 ++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/posts/admin.py b/posts/admin.py index e28cf913f5..cb1124c533 100644 --- a/posts/admin.py +++ b/posts/admin.py @@ -111,11 +111,14 @@ 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 Cached Fields" ) def other_project_count(self, obj): @@ -203,7 +206,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 From 8d089d5c5694425253abeee5462819d6fb412ca9 Mon Sep 17 00:00:00 2001 From: lsabor Date: Fri, 20 Feb 2026 12:50:32 -0800 Subject: [PATCH 2/2] reformat --- posts/admin.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/posts/admin.py b/posts/admin.py index cb1124c533..f0913ce84b 100644 --- a/posts/admin.py +++ b/posts/admin.py @@ -117,9 +117,7 @@ def update_pseudo_materialized_fields_button(self, obj): ), ) - update_pseudo_materialized_fields_button.short_description = ( - "Update Cached Fields" - ) + update_pseudo_materialized_fields_button.short_description = "Update Cached Fields" def other_project_count(self, obj): return obj.projects.count()