Django 使用 內建 content type

2022-09-16 21:06:21 字數 1504 閱讀 1329

django內建的content-type元件, 記錄了專案中所有model元資料的表

可以通過乙個contenttype表的id和乙個具體表中的id找到任何記錄,及先通過contentype表的id可以得到某個model,再通過model的id得到具體的物件
幫助開發者 連表操作

"""普通課程

"""title = models.charfield(max_length=32)

# 僅用於反向查詢

price_policy_list = genericrelation("pricepolicy")

查詢的時候 course_obj.price_policy_list.all()

class degreecourse(models.model):

"""精品課程

"""title = models.charfield(max_length=32)

# 僅用於反向查詢

price_policy_list = genericrelation("pricepolicy")

查詢的時候 degreecourse_obj.price_policy_list.all()

class pricepolicy(models.model):

"""**策略

"""price = models.integerfield()

period = models.integerfield()

content_type = models.foreignkey(contenttype, verbose_name='關聯的表名稱') # 7,8 表名稱

object_id = models.integerfield(verbose_name='關聯的表中的資料行的id') #

# 這個欄位並不會生成在資料庫中, 幫助你快速實現content_type操作

content_object = genericforeignkey('content_type', 'object_id')

新增資料 只需要新增content_object 物件

obj = degreecourse.objects.filter(title='python開發').first()

pricepolicy.objects.create(price='9.9',period='30',content_object=obj)

使用場景:

Django 內建分頁

from django.core.paginator import paginator,page userlist models.user.objects.all paginator paginator userlist,10 per page 每頁顯示條目數量 count 資料總個數 num pa...

django 內建標籤

控制當前自動轉義的行為,有on和off兩個選項 定義乙個子模板可以覆蓋的塊,在模板中 上一節 有使用示例 注釋,和 之間的內容被解釋為注釋 乙個防止csrf攻擊 跨站點請求偽造 的標籤 迴圈給出的字串或者變數,可以混用 值得注意的是,這裡的變數的值預設不是自動轉義的,要麼你相信你的變數,要麼你就是用...

Django 內建字段

field required true,是否允許為空 widget none,html外掛程式 label none,用於生成label標籤或顯示內容 initial none,初始值 help text 幫助資訊 在標籤旁邊顯示 error messages none,錯誤資訊 show hidd...