diff --git a/backend/celerybeat-schedule b/backend/celerybeat-schedule index cf2ebcf2..265af897 100644 Binary files a/backend/celerybeat-schedule and b/backend/celerybeat-schedule differ diff --git a/backend/igny8_core/business/content/models.py b/backend/igny8_core/business/content/models.py index 035ef744..e783c36f 100644 --- a/backend/igny8_core/business/content/models.py +++ b/backend/igny8_core/business/content/models.py @@ -93,6 +93,8 @@ class Content(SiteSectorBaseModel): task = models.OneToOneField( Tasks, on_delete=models.CASCADE, + null=True, + blank=True, related_name='content_record', help_text="The task this content belongs to" ) @@ -172,10 +174,13 @@ class Content(SiteSectorBaseModel): def save(self, *args, **kwargs): """Automatically set account, site, and sector from task""" - if self.task: - self.account = self.task.account - self.site = self.task.site - self.sector = self.task.sector + if self.task_id: # Check task_id instead of accessing task to avoid RelatedObjectDoesNotExist + try: + self.account = self.task.account + self.site = self.task.site + self.sector = self.task.sector + except self.task.RelatedObjectDoesNotExist: + pass # Task doesn't exist, skip super().save(*args, **kwargs) def __str__(self): diff --git a/backend/igny8_core/modules/writer/migrations/0010_make_content_task_nullable.py b/backend/igny8_core/modules/writer/migrations/0010_make_content_task_nullable.py new file mode 100644 index 00000000..07091405 --- /dev/null +++ b/backend/igny8_core/modules/writer/migrations/0010_make_content_task_nullable.py @@ -0,0 +1,26 @@ +# Generated migration to make Content.task nullable for Phase 4 synced content + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('writer', '0009_add_content_site_source_fields'), + ] + + operations = [ + migrations.AlterField( + model_name='content', + name='task', + field=models.OneToOneField( + blank=True, + help_text='The task this content belongs to', + null=True, + on_delete=models.CASCADE, + related_name='content_record', + to='writer.tasks' + ), + ), + ] +