From 3ff6e65c03372716efdf47418ef79f3bfaf846ac Mon Sep 17 00:00:00 2001 From: mein Name Date: Fri, 28 Feb 2025 20:15:58 -0500 Subject: [PATCH] fix edge case when deleting Piece --- journal/models/common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/journal/models/common.py b/journal/models/common.py index 3a013107..6376eb21 100644 --- a/journal/models/common.py +++ b/journal/models/common.py @@ -119,7 +119,8 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin): @classmethod def from_db(cls, db, field_names, values): instance = super().from_db(db, field_names, values) - if hasattr(instance, "visibility"): + if "visibility" in field_names: + # avoid hasattr(instance, "visibility") which may cause RecursionError instance.previous_visibility = instance.visibility return instance