1. 程式人生 > >ORM表之間的多對多處理

ORM表之間的多對多處理

1.ORM多對多語法

  1.book = models.ManyToManyField(to='Book')

  2.優勢

    1.幫助我們自動建立了第三張表

    2.提供了很多方便的關聯方法

      1.author_obj.book.all()      -->查詢作者所有關聯的所有書籍

      2.author_obj.book.add(id1,id2)   -->給作者新增新關聯的書籍

      3.author_obj.book.set(id1,id2)    -->給作者修改關聯的書籍

2.作者表的增刪改查

  1.查

    1.author_obj.book.all()

    2.在Django模板語言中,不需要加括號{{ author_obj.book.all }},html會自動進行反射

  2.增

    1.add(*[])    -->使用author_obj.book.getlist()獲取資料時,得到的是一個列表

  3.刪除

    1.author_obj.book.filter(過濾條件).delete()

    2.補充Django2.0以上的版本,外來鍵需要手動設定級關聯操作 on_delete=models.CASCADE

  4.修改

    1.set([])