#django #django-models
Вопрос:
У меня есть две модели со сквозной таблицей:
class Subscriber(models.Model):
first = models.CharField(max_length=30)
last = models.CharField(max_length=30)
email_confirmed = models.BooleanField(default=False)
class Newsletter(models.Model):
title = models.CharField(max_length=100, default="Tiffany's Dynamic Digest")
body = models.TextField(null=False, blank=False)
subscribers = models.ManyToManyField('Subscriber', through='NewsletterEngagement')
class NewsletterEngagement(models.Model):
subscriber = models.ForeignKey(Subscriber, on_delete=models.CASCADE)
newsletter = models.ForeignKey(Newsletter, on_delete=models.CASCADE)
Чтобы создать запись в модели управления информационными бюллетенями, у меня есть следующий код:
subscriber = Subscriber.objects.get(pk=1)
newsletter = Newsletter.objects.get(pk=1)
m1 = NewsletterEngagement.objects.create(subscriber=subscriber, newsletter=newsletter)
На мой взгляд (хотя я очень неопытен) для этого требуется 3 обращения к базе данных, есть ли более эффективный способ создания записи?