Django的基本使用(二)

Django的基本使用

1.模型類

1.1 ORM的框架

在這裏插入圖片描述
django中內嵌了ORM框架,ORM框架可以將類和數據表進行對應起來,只需要通過類和對象就可以對數據表進行操作。
在Django中主要是設計類:模型類。
ORM另外一個作用:根據設計的類生成數據庫中的表。

1.2 django模型類設計

  • 在應用models.py中設計模型類。
  • 必須繼承與models.Model類。
  • 1) 設計BookInfo類。
    2) 設計HeroInfo類。

  • Models.ForeignKey可以建立兩個模型類之間一對多的關係,django在生成表的時候,就會在多端的表中創建一列作爲外鍵,建立兩個表之間一對多的關係。

1.3 模型類生成表

  • 1) 生成遷移文件
    • 命令:python manage.py makemigrations

      遷移文件是根據模型類生成的。

  • 2) 執行遷移生成表
    • 命令:python mange.py migrate
      根據遷移文件生成表。
      生成表名的默認格式:
      應用名_模型類名小寫

1.4 通過模型類操作數據表

  • 進入項目shell的命令:
    python manage.py shell
    以下爲在相互shell終端中演示的例子:
    • 首先導入模型類:
      from booktest.models import BookInfo,HeroInfo
  • 1) 向booktest_bookinfo表中插入一條數據。

b = BookInfo() #定義一個BookInfo類的對象
b.btitle =‘天龍八部’ #定義b對象的屬性並賦值
b.bpub_date = date(1990,10,11)
b.save() #纔會將數據保存進數據庫

  • 2) 查詢出booktest_bookinfo表中id爲1的數據。

    b = BookInfo.objects.get(id=1)
  • 3) 在上一步的基礎上改變b對應圖書的出版日期。

    b.bpub_date = date(1989,10,21)
    b.save() #纔會更新表格中的數據
  • 4) 緊接上一步,刪除b對應的圖書的數據。

    b.delete() #纔會刪除
  • 5) 向booktest_heroInfo表中插入一條數據。

    h = HeroInfo()
    h.hname = ‘郭靖’
    h.hgender = False
    h.hcomment = ‘降龍十八掌’
    b2 = BookInfo.objects.get(id=2)
    h.hbook = b2 #給關係屬性賦值,英雄對象所屬的圖書對象
    h.save()
  • 6) 查詢圖書表裏面的所有內容。

    BookInfo.objects.all()
    HeroInfo.objects.all()

1.5 關聯操作

在這裏插入圖片描述

  • 1) 查詢出id爲2的圖書中所有英雄人物的信息。

    b = BookInfo.objects.get(id=2)
    b.heroinfo_set.all() #查詢出b圖書中所有英雄人物的信息

後續學習點這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章