背景思路:類似於給作者表做乙個外鍊錶 inner join有兩張表 1. 作者 2.書籍
關係:乙個作者可以寫多本書、一本書也可以多個作者
'''作者表'''
class
author
(models.model):
id = models.autofield(primary_key=true)
name = models.charfield(max_length=16,null=false,unique=true) # 不為空, 唯一
# 作者關聯書籍表
book = models.manytomanyfield(to='book')
'''查詢某個作者寫了哪些書的時候
通過作者.book.all()可以展示出該作者所有的書籍【物件】!
再通過書籍物件.name 列印書籍名
'''
html
}}
|
新增的時候如何解決,外鏈的內容(新增作者,寫了n本書)html 新增乙個作者,寫的多本書
多選下拉框提交,選擇幾本書一起提交
multiple 為可以複選的下拉表
multiple
name="books"
id="books" >
value="
}">
}option>
select>
views中,重點
def
add_author
(request):
new_name = request.post.get('name')
# 獲取作者多本書籍
'''【多選框checkbox和多選的select!!!用 getlist 返回【列表】】'''
books = request.post.getlist('books')
#建立作者
new_obj = models.author.objects.create(name=new_name) # 獲取到物件
# 把新作者和書籍建立關係 book 是作者物件裡邊的,多表連線
'''【用set方法把多本書籍列表匯入django自動完成加表工作】'''
new_obj.book.set(books)
django 表關係之 多對多
比如一篇文章和標籤的關係。一篇文章可以有多個標籤,乙個標籤可以被多篇文章所引用。因此標籤和文章的關係就是典型的多對多的關係。下邊只是一篇文章對應多個標籤 乙個標籤對應多篇文章就不舉例了,自己腦補下!這樣我們會通過articles欄位來獲取某個標籤tags下邊的所有文章 articles models...
資料表多對多
今天學習了資料表多對多,由於有圖理解起來也輕鬆了很多,使用聯合主鍵進行多對多表的關係的管理 中間表 create database auth character set utf8 使用者表 create table users id varchar 32 primary key,name varch...
Hibernate多對多關係對映 建表
下邊講述hibernate多對多關係對映。多對多關係的表的結構為 兩個實體表,還包含乙個關係表,關係表為復合主鍵,如果要使用hibernate多對多關係對映,則關係表必須只包含兩個字段,如果生成了hibernate多對多關係對映,則中間關係表不會生成實體 即沒有對應的pojo類,更沒有其對映檔案 1...