django model 查询 笔记二 :多对多查询

# -*- coding:utf-8 -*-
   # 没法贴链接,参考自 CSDN:shangliuyan,好像没法贴链接,打出名字特此感谢,如有问题请留
from django.db import models


# 主表
class Author(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()


# 从表
class Book(models.Model):
    title = models.CharField(max_length=200)
    authors = models.ManyToManyField(Author)

# 从表查主表
b = Book.objects.get(id=50)
b.authors.all()
b.authors.filter(first_name='Adam')

# 主表查从表
a = Author.objects.get(id=1)
a.book_set.all()

# 添加对象
a = Author.objects.get(id=1)
b = Book.objects.get(id=50)
b.authors.add(a)

# 删除对象
a = Author.objects.get(id=1)  
b = Book.objects.get(id=50)  
b.authors.remove(a) 或者 b.authors.filter(id=1).delete()

  

posted @ 2018-02-08 18:10  django_start  阅读(2702)  评论(0编辑  收藏  举报