Skip to content

Commit bb9a668

Browse files
committed
Merge branch 'main' into release
2 parents 86d672e + 7b14c6c commit bb9a668

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

sponsors/models/benefits.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
########################################
1818
# Benefit features abstract classes
19-
from sponsors.models.managers import BenefitFeatureQuerySet
19+
from sponsors.models.managers import BenefitFeatureQuerySet, BenefitFeatureConfigurationQuerySet
2020

2121

2222
########################################
@@ -307,11 +307,14 @@ class BenefitFeatureConfiguration(PolymorphicModel):
307307
Base class for sponsorship benefits configuration.
308308
"""
309309

310+
objects = BenefitFeatureQuerySet.as_manager()
310311
benefit = models.ForeignKey("sponsors.SponsorshipBenefit", on_delete=models.CASCADE)
312+
non_polymorphic = models.Manager()
311313

312314
class Meta:
313315
verbose_name = "Benefit Feature Configuration"
314316
verbose_name_plural = "Benefit Feature Configurations"
317+
base_manager_name = 'non_polymorphic'
315318

316319
@property
317320
def benefit_feature_class(self):

sponsors/models/managers.py

+9
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,15 @@ def provided_assets(self):
146146
return self.instance_of(*provided_assets_classes).select_related("sponsor_benefit__sponsorship")
147147

148148

149+
class BenefitFeatureConfigurationQuerySet(PolymorphicQuerySet):
150+
151+
def delete(self):
152+
if not self.polymorphic_disabled:
153+
return self.non_polymorphic().delete()
154+
else:
155+
return super().delete()
156+
157+
149158
class GenericAssetQuerySet(PolymorphicQuerySet):
150159

151160
def all_assets(self):

0 commit comments

Comments
 (0)