1. 程式人生 > >django框架的基礎知識點《叄》

django框架的基礎知識點《叄》

===================資料庫操作====================== -------------------》增加: 方案一:根據模型類建立物件,為屬性賦值,物件.save() 方案二:模型類.objects.create(屬性=值,...)==>返回物件(推薦使用此方法) ---------------------》查詢 屬性_運算子=值 F物件===》在等號的右側出現模型類的屬性 Q物件===》實現邏輯與,邏輯或,邏輯非的運算 ----------------------》關係屬性 圖書-英雄的關係為1對多,在多的一端,即英雄類中定義了外來鍵hbook,英雄模型類中,預設 有一個屬性hbook_id用來關聯物件的主鍵 在圖書模型類中,英雄模型類中定義外來鍵後,django會為圖書增加一個屬性:heroinfo_set,表示某個圖書物件關聯的英雄 ------------------------》修改 方案一:1.查詢物件,2.為屬性賦值,3.物件.save() 方案二: 1.模型類.objects.filter(條件).update(屬性=值) 如果修改一個物件,推薦使用方案一,如果修改多個物件,推薦使用方案二 -------------------------》刪除 方案一:1.查詢物件 2.物件.delete() 方案二:模型類.objects.filter(條件).delete() 如果刪除一個物件,則使用方案一,如果刪除多個物件,則使用方案二 =======================查詢集====================== 作用:優化,減少與資料庫的互動次數 當呼叫all(),filter(),order_by()時,返回查詢集物件而不會到資料庫中查詢 get()=====》立即到資料庫中查詢資料 特性: 惰性執行,快取 ======================後臺管理admin============== ==================後臺管理admin ------註冊 開啟admin.py檔案 admin.site.register(模型類) ------列表頁屬性 list_per_page = 10 # 分頁中的頁大小 actions_on_top = True # 設定動作在頂部顯示 actions_on_bottom = True # 設定動作在底部顯示 list_display = ['id', 'btitle', 'bpub_date', 'pub_date'] # 表格 list_filter = ['bread', 'bcomment'] # 過濾,快速查詢 search_fields = ['btitle'] # 查詢 ------編輯頁屬性 fieldsets=(#分組 (分組名稱,{'fields':[屬性名稱]}), (), ... ) inlines=[]#內嵌 ------站點資訊設定 3個標題 ------上傳圖片 1.在settings.py中配置 STATIC_URL = '/static/' # 查詢靜態檔案的目錄 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'media') ] # 指定上傳檔案儲存的目錄 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2.python manage.py makemigrations 3.修改models.py,為BookInfo增加image欄位 image = models.ImageField(upload_to='books', null=True) 4.python manage.py makemigrations 5.python manage.py migrate