您好,登錄后才能下訂單哦!
這篇文章主要介紹關于Django中ORM之增的多種方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Django中的ORM之增:
1、使用create方式
方式一:
Publish.objects.create("name"="人民出版社",city="北京"}
方式二:
Publish.objects.create(**{"name":"文藝出版社","city":"上海"}}
2、使用save方式
方式一:
book1=Book(title="python",price="88",publish_id="1",publication_date="2017-06-18") book1.save()
方式二:
author1=Author(name="jerry") author1.save()
3、一對多的信息的創建
方式一:
#獲取出版社對象publish_obj=Publish.objects.get(id=4) #將出版社的對象綁定到書籍的記錄中Book.objects.create( title="python", price=48.00, publication_date="2017-07-12", publish=publish_obj, )
方式二:
#直接把出版社的id號插入到書籍的記錄中Book.objects.create( title="python", price=48.00, publish_id=2, publication_date="2017-06-18", )
4、多對多信息的創建
為一本書添加多個作者
author1=Author.objects.get(id=1)#獲取id號為1的作者對象 author2=Author.objects.filter(name="tom")#獲取名字為"tom"的作者對象 book1=Book.objects.get(id=2)#獲取id號為2的書籍對象 book1.authors.add(author1,author2)#為書籍對象添加多個作者對象
也可以用這種方式:
book1.authors.add(*[author1,author2])#為書籍對象添加作者對象的列表 book1.authors.remove(*[author1,author2])#刪除指定書籍的所有作者
為一個作者添加多本書
author_obj = Author.objects.filter(name="jerry")#獲取名字為"jerry"的作者對象 book_obj=Book.objects.filter(id__gt=3)#獲取id大于3的書籍對象集合 author_obj.book_set.add(*book_obj)#為作者對象添加書籍對象集合 author_obj.book_set.remove(*book_obj)#刪除指定作者對象所有的書籍
手動創建多對多的作者與書籍信息表
class Book2Author(models.Models): author=models.ForeignKey("Author")#為作者指定Author這張表做為外鍵 book=models.ForeignKey("Book")#為書籍指定Book這張表做為外鍵 author_obj=models.Author.objects.filter(id=3)[0]#獲取Author表中id為3的作者對象 book_obj=models.Book.objects.filter(id=4)[0]#獲取Book表中id為4的書籍對象
方式一:
obj1=Book2Author.objects.create(author=author_obj,book=book_obj) obj1.save()
方式二:
obj2=Book2Author(author=author_obj,book=book_obj) obj2.save()
以上是關于Django中ORM之增的多種方式的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。