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

#python #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 (который получает все сообщения из нашего блога), обновляю поле «Сообщения» на веб — сайте, обновляю несколько других полей таким же образом, а затем-я создаю новый объект интерфейса, который опирается на данные с веб-сайта.

Каков наилучший/наиболее эффективный подход django, чтобы скрыть все это за одним щелчком мыши?

Нужно ли мне создавать новую модель «BuildingSiteFacade» только для выполнения всех этих операций во время создания объекта BuildingSiteFacade?