diff options
Diffstat (limited to 'app/syndication/models.py')
-rw-r--r-- | app/syndication/models.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/syndication/models.py b/app/syndication/models.py index 5856de1..a58da8d 100644 --- a/app/syndication/models.py +++ b/app/syndication/models.py @@ -1,6 +1,10 @@ from django.db import models from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.fields import GenericForeignKey +from django.db.models.signals import post_save +from django.dispatch import receiver + +from .medium import post_to_medium class Syndicate(models.Model): @@ -25,3 +29,15 @@ class SyndicatedItem(models.Model): def __str__(self): return self.content_object.title + + +@receiver(post_save, sender=SyndicatedItem) +def post_save_events(sender, update_fields, created, instance, **kwargs): + if instance.status == 1: + for item in instance.syndicate.all(): + if item.name == "Medium": + instance.rel_link = post_to_medium(instance.content_object) + instance.status = 2 + post_save.disconnect(post_save_events, sender=SyndicatedItem) + instance.save() + post_save.connect(post_save_events, sender=SyndicatedItem) |