django框架的基礎知識點《叄》
阿新 • • 發佈:2018-11-10
===================資料庫操作======================
-------------------》增加:
方案一:根據模型類建立物件,為屬性賦值,物件.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