#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?