Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有更好的方法通过表记录Django创建?_Django_Django Models - Fatal编程技术网

有没有更好的方法通过表记录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次访问数据库,有没有更有效的方法来创建记录