django 關系型數據庫的關系包括三種類型:
ForeginKey: 一對多闪盔,將字段定義在多的一端中
ManyToManyField: 多對多腺晾,將字段定義在任意一端中继蜡。
OneToOneField:一對一陨囊,將字段定義在任務一端中
null 針對數據庫,blank針對表單
簡單的查詢
django由一到多的訪問語法:
?????????????‘一’這邊的模型類對象.‘多’的模型類的小寫_set
django由多到一的訪問語法:
? ? ? ? ? ? ’多‘的模型類對象.(外鍵).’多‘的對應模型類的屬性名
帶條件的多表查詢
由多模型類條件查詢一模型類數據(通過多來查詢一):關系模型類名小寫__屬性名__條件運算符=值
eg:查詢圖書阻肩,要求圖書中的英雄的描述包含“八”
list = BookInfo.object.filter(heroinfo__hcontent__contains='八')
由一模型類條件查詢多模型類數據: 語法如下:
一模型類關聯(lián)屬性名__一模型類屬性名__條件運算符=值
例:查詢書名為“天龍八部”的所有英雄。
list = HeroInfo.objects.filter(hbook__btitle='天龍八部')0
由多查一通過外鍵來查詢,由一查多通過關系模型類名小寫__屬性名__條件運算符
自關聯(lián)
為了充分利用數據表的大量數據存儲功能烤惊,可以設計成一張表乔煞,內部的關系字段指向本表的主鍵,這就是自關聯(lián)的表結構柒室。
自關聯(lián)是一種特殊的一對多的關系
使用自連接時要求null和blank允許為空渡贾,因為一級數據沒有父類
在建立連接關系時aParent=models.ForeignKey('self',null=True blank=True) 這里的self 表示調用的外鍵就是調用的自己,通過自己與自己建立聯(lián)系雄右,這就是自連接
主鍵和外鍵設計在一張表中
當多查一時空骚,可以用多的parent找到一;當一查多時擂仍,可以由一的id所對應的多的parent來調用all(注意在django中囤屹,前端all不加(),)就可以查到所有對應的多項逢渔。
django前端中all不加()
django中在views文件中HttpResponse 返回的是字符串肋坚,render返回的是模板(html)
用戶發(fā)起請求后的第一件事進入到工程中的setting查找ROOT_URLCONF指定的根目錄
url的兩種寫法?
一種寫法是直接在url文件中寫
另一種寫法是在子應用中創(chuàng)建子url進行調用要使用這種方法時需要在根url也就是在工程中的url 中的urlpatterns[]中寫一個url(r'^index/',include('需要包含一個字符串文件名如booktest.urls'))(要用include需要先導入include,可以from django.conf.urls import url,include這種方式調用)
創(chuàng)建一個同include 中同字符串名的文件 在其開頭導入
from django.conf.urls import url ?
from bookStoreApp import views
然后寫urlpatterns = [
? ? ? ? url(r'^index',views.index)
]?
然后就能在網址中輸入
127.0.0.1:8002/bookStoreApp/index?
一這種方式來進入頁面
地址傳參
可以從url地址里面?zhèn)鲄?/p>
在url(r'^show_args/(\d+)', views.show_args)中的(\d+)表示在地址欄輸完show_args后可以輸入數字
然后變?yōu)椋╘d+)在views中show_args函數中添加一個形式參數用于接收頁面上輸入的數字 然后就能以格式化輸出的方式輸入到Httpresponse中 返回到頁面 這種方式是用位置參數的方式輸出
另一種方式是可以變?yōu)閡rl(r'^show_args(?P<nid>\d+)'views.show_args) 這樣在views中的show_arg一個nid的關鍵字參數,這樣是用關鍵字參數的方式輸出?
函數中添加
<a></a>可以發(fā)起get請求 <form></form>可以發(fā)起post請求