免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Django之多對多查詢與操作方法

多對多表之間關系表

Django 之 多對多查詢與操作方法

創新互聯公司專業為企業提供酒泉網站建設、酒泉做網站、酒泉網站設計、酒泉網站制作等企業網站建設、網頁設計與制作、酒泉企業網站模板建站服務,十年酒泉做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

models.py文件代碼

from django.db import models

# Create your models here.

class Publisher(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=64,null=False,unique=True)

    def __str__(self):
        return "publisher_name:{}".format(self.name)

class Book(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=128,null=False)
    publisher = models.ForeignKey(to=Publisher,related_name="books")

    def __str__(self):
        return "book_title:{}".format(self.title)

class Author(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=16,null=False)
    book = models.ManyToManyField(to="Book")

    def __str__(self):
        return "author_name:{}".format(self.name)

查詢與操作方法代碼

import os

if __name__ == '__main__':
    #加載Django項目的配置信息
    os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings")
    #導入Django,并啟動Django項目
    import django
    django.setup()

    from ormtest import models

    #多對多查詢
    #查詢作者(小白),寫過的所有書有那些
    author_obj = models.Author.objects.get(name="小白")
    print(author_obj)
    author_obj_books = author_obj.book.all()
    print(author_obj_books)

    #1.create(為小白作者對象創建一本書)
    #首先:在book表中創建一本書,并指定相應的出版社
    #然后:在作者和書的多聯多系表中,自動添加一條關聯記錄
    author_obj.book.create(title="zabbix從入門到精通",publisher_id=3)

    #2.add(為小白作者,添加一本書(網絡基礎原理))
    book_obj = models.Book.objects.get(title="網絡基礎原理")
    author_obj.book.add(book_obj)

    #3.remove(為作者小白,刪除一本書《網絡基礎原理》)
    #1、為作者小白,刪除一本書<網絡基礎原理>
    book_obj = models.Book.objects.get(title="網絡基礎原理")
    author_obj.book.remove(book_obj)
    #為作者小白,刪除一本書,書的id為4
    author_obj.book.remove(4)

    #4.clear(把作者為小白的關聯的書,全部清空刪除)
    author_obj.book.clear()

當前名稱:Django之多對多查詢與操作方法
網頁地址:http://m.newbst.com/article44/pjdghe.html

成都網站建設公司_創新互聯,為您提供云服務器搜索引擎優化面包屑導航企業網站制作商城網站電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發