在我的Django 1.11博客应用中,我在authors
和posts
之间存在多对多关系。
# models.py
class Post(models.Model):
title = models.CharField(max_length=200)
class Author(models.Model):
name = models.CharField(max_length=200)
posts = models.ManyToManyField(Post, related_name='authors')
我可以创建一个如下作者的帖子:
$ post = Post.objects.create(title='My post')
$ post.authors.create(name='John Doe')
但是,我如何明确地创建帖子和作者并通过关联连接它们?
$ post = Post.objects.create(title='My post')
$ author = Author.create(name='John Doe')
$ post.authors.????(author)
如果我致电post.authors.get_or_create(name='John Doe')
,它会创建一个新作者,这不是我想要的。
我可以通过将其作为一个单独的模型(PostAuthor
)直接访问连接表,但有没有办法通过QuerySet API将现有作者连接到帖子?
答案 0 :(得分:1)
试试这个:
post.authors.add(author)