Change surveys to not be automatically deleted when their module is deleted

This commit is contained in:
Ramon Wenger 2023-01-31 11:36:30 +01:00
parent a1ac88dbef
commit a8032e1682
1 changed files with 16 additions and 8 deletions

View File

@ -8,26 +8,34 @@ from wagtail.search import index
@register_snippet
class Survey(models.Model, index.Indexed):
title = models.CharField(max_length=255)
module = models.ForeignKey('books.Module', related_name='surveys', on_delete=models.CASCADE, null=True,
blank=True)
module = models.ForeignKey(
"books.Module",
related_name="surveys",
on_delete=models.PROTECT,
null=True,
blank=True,
)
data = JSONField()
search_fields = [
index.SearchField('title', partial_match=True),
index.SearchField('module__meta_title', partial_match=True),
index.SearchField("title", partial_match=True),
index.SearchField("module__meta_title", partial_match=True),
]
def __str__(self):
return self.title
class Meta:
ordering = ['-pk']
ordering = ["-pk"]
class Answer(models.Model):
owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name='answers')
owner = models.ForeignKey(
get_user_model(), on_delete=models.CASCADE, related_name="answers"
)
data = JSONField()
survey = models.ForeignKey(Survey, on_delete=models.CASCADE, related_name='answers')
survey = models.ForeignKey(
Survey, on_delete=models.PROTECT, related_name="answers")
def __str__(self):
return '{} - {}'.format(self.owner.username, self.survey.title)
return "{} - {}".format(self.owner.username, self.survey.title)