django基礎 5 作者的增刪改查

2022-07-01 18:27:10 字數 1726 閱讀 5044

1.內容回顧

1. 外來鍵的增刪改查

1. 外來鍵的語法

models.foreignkey(to='', on_delete=models.cascade)

2. 外來鍵查詢的語法

book_obj.press --> 取到的是和我這本書關聯的出版社物件

book_obj.press_id --> 資料庫中實際儲存的外來鍵id

2. django模板語言

1. if判斷

......

3. 昨天問題

1. orm建立表的時候,出來倆選項

1) ...

2) ...

給資料庫中已經存在的表新增另外乙個字段,這個欄位既沒有預設值也不能為空

orm就不知道資料庫中已經存在的資料該怎麼處理這個字段

2. django請求的流程圖

見群內截圖

2. 今日內容

1. 多對多關係

作者 <--> 書籍

1. 表結構設計

1. sql版

-- 建立作者表

create table author(

id int primary key auto_increment,

name varchar(32) not null

);-- 建立作者和書的關係表

create table author2book(

id int primary key auto_increment,

author_id int not null,

book_id int not null,

constraint fk_author foreign key (author_id) references author(id) on delete cascade on update cascade,

constraint fk_book foreign key (book_id) references book(id) on delete cascade on update cascade

);2. orm版

1. 第一版:

自己建立第三張表

2. 第二版

讓orm幫我們建立第三張表

models.manytomanyfield()

3. 第三版

待補充...(orm高階操作的時候)

2. 作者的增刪改查

1. 查詢

author_obj.books --> 得到的只是乙個關聯關係,並不能拿到資料

author_obj.books.all() --> 得到和我這個作者關聯的所有書籍物件列表

2. 新增

1. add()

3. 刪除

4. 編輯

1. 模板語言中

2. orm編輯多對多

1. 不能直接操作第三張關係表

2. 借助orm給提供的方法

1. all()

2. add(id1,id2)

3. set([id1, id2])

4. clear()

3. django模板語言

1. for迴圈

1. forloop.last

...2. empty

......

4. 上傳檔案

form表單上傳檔案

4. 預習任務

--> 看圖

--> 看內容,明天主講django的模板語言

Django 自帶的ORM增刪改查

通過django來對資料庫進行增刪改查 3 python manage.py makemigrations 4 python manage.py migrate django 常用命令 django python3 manage.py startproject project name python...

JS增刪改查5

doctype html en utf 8 document title head let arr a b c 查詢陣列中的值,怎麼做?console.log arr 1 修改陣列中的值 arr 1 cyg console.log arr 1 還可以修改多個值 splice 裡面有三個引數。第一 從...

基礎級 增刪改查

本文涵蓋內容均源於 php mysql novice to ninja 一書,在此感謝著者 kevin yank 澳 1.建立庫 creata database db name2.建立表 creata table db name.table name default character set ch...