有没有更好的方法通过表记录Django创建?
我有两个型号,带有一个直通表:有没有更好的方法通过表记录Django创建?,django,django-models,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.CharFi
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次访问数据库,有没有更有效的方法来创建记录