Django - изменяйте объекты из разных приложений

Я работаю с несколькими различными приложениями django, которые предоставляют некоторые данные для другого приложения:

class WordpressSnapshot(models.Model):
    configuration = models.ForeignKey(WordpressServerConfiguration, on_delete=models.CASCADE, related_name='snapshots')
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s' % self.created_at


class Post(models.Model):
    class Meta:
        unique_together = (('snapshot', 'slug'),)

    snapshot = models.ForeignKey(WordpressSnapshot, on_delete=models.CASCADE, related_name='posts')
    date = models.DateTimeField()
    excerpt = models.CharField(max_length=255)
    slug = models.CharField(max_length=255)
    title = models.CharField(max_length=255)
    content = models.TextField()
    author = models.ForeignKey(PostAuthor, on_delete=models.CASCADE, related_name='posts')
    media = models.URLField()

    def __str__(self):
        return '%s %s' % (self.slug, self.author)


class WebSite(models.Model):
    name = models.CharField(max_length=255)
    ....
    posts = models.ForeignKey(
        "wordpress.WordpressSnapshot",
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    pages = models.ManyToManyField(Page, null=True, blank=True)

    def __str__(self):
        return self.name

В настоящее время я создаю новый WordpressSnapshot (который получает все записи из нашего блога), обновляю поле posts в WebSite, обновляю несколько других полей таким же образом и после этого - создаю новый объект frontend, который полагается на данные из WebSite.

Какой самый лучший/самый django подход для скрытия всего этого за одним кликом?

.

Нужно ли мне создать новую модель "BuildingSiteFacade", чтобы выполнить все эти операции при создании объекта BuildingSiteFacade?

Вернуться на верх