2017-05-11 3 views
0

내 Django 1.11 블로그 앱에는 authorsposts 사이에 많은 관계가 있습니다. 다음과 같이기존 레코드와 다 대다 관계를 만들려면 어떻게해야합니까?

# 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.authors.get_or_create(name='John Doe')를 호출하면

$ post = Post.objects.create(title='My post') 
$ author = Author.create(name='John Doe') 
$ post.authors.????(author) 

내가 원하는하지 않은 새로운 저자를 만들 것이다.

별도의 모델 (PostAuthor)으로 직접 조인 테이블에 액세스 할 수 있지만 QuerySet API를 통해 기존 작성자를 게시물에 연결할 수있는 방법이 있습니까?

답변

1

이 시도 :

post.authors.add(author) 
관련 문제