Classification grouping - clean up groupings when classifications are deleted #1776 - #1777
Open
davmlaw wants to merge 1 commit into
Open
Classification grouping - clean up groupings when classifications are deleted #1776#1777davmlaw wants to merge 1 commit into
davmlaw wants to merge 1 commit into
Conversation
…on classification delete, so empty groupings are cleaned up #1776
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Written by Claude
Issue #1776
The
pre_deletehandler forClassificationrecalculated the grouping while theClassificationGroupingEntrystill existed (it is only removed by CASCADE when the classification row is deleted), soClassificationGrouping.update()still counted the doomed classification, re-saved the grouping withdirty=False, and the "no classifications → delete grouping" branch never ran. Deleting classifications left stale, empty groupings behind that nothing ever revisited.The handler now deletes the entry explicitly before dirtying the grouping and running the instant recalculation — mirroring what
assign_grouping_for_classificationalready does in its no-allele branch — so the recount excludes the deleted classification and empty groupings clean themselves up.Existing orphaned groupings on deployments can be cleaned up with
python3 manage.py classification_groupings --refresh.🤖 Generated with Claude Code