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?