8

Delete variants of a page that is being deleted

This commit is contained in:
Tomasz Knapik
2018-07-04 17:22:04 +01:00
parent e0fbefd53f
commit 0fd6d4d2e5
8 changed files with 216 additions and 7 deletions

View File

@@ -203,15 +203,18 @@ class PersonalisablePageMetadata(ClusterableModel):
segments.
"""
# Canonical pages should not ever be deleted if they have variants
# because the variants will be orphaned.
canonical_page = models.ForeignKey(
Page, related_name='personalisable_canonical_metadata',
on_delete=models.SET_NULL,
blank=True, null=True
Page, models.PROTECT, related_name='personalisable_canonical_metadata',
null=True
)
# Delete metadata of the variant if its page gets deleted.
variant = models.OneToOneField(
Page, related_name='_personalisable_page_metadata',
on_delete=models.CASCADE)
Page, models.CASCADE, related_name='_personalisable_page_metadata',
null=True
)
segment = models.ForeignKey(
Segment, related_name='page_metadata',