Django內建的元件 content type

2021-10-23 18:28:01 字數 1871 閱讀 5078

django內建的元件,幫我們開發者做連表操作, 使用於一張表跟多張表關聯。

使用:contenttype用於關聯表的名稱

genericforeignkey幫助快速實現content_type操作,將之對應起來

genericrelation用於反向查詢 不生成資料表

from django.db import models

from django.contrib.contenttypes.fields import genericforeignkey, genericrelation

from django.contrib.contenttypes.models import contenttype

# create your models here.

class

course

(models.model)

:"""普通課"""

title = models.charfield(max_length=32)

# 僅用於反向查詢,不生成資料表

price_policy_list = genericrelation(

"pricepolicy"

)class

degreecourse

(models.model)

:"""學位課"""

title = models.charfield(max_length=32)

class

pricepolicy

(models.model)

:"""**策略"""

price = models.integerfield(

) period = models.integerfield(

) content_type = models.foreignkey(contenttype, verbose_name=

'關聯的表名稱'

) object_id = models.integerfield(verbose_name=

'關聯的表中資料行的id'

)# 幫助快速實現content_type操作

:# 1 為學位課「python 全棧」 新增乙個**策略: 1個月9.9的資料

obj = models.degreecourse.objects.

filter

(title=

'python全棧'

).first(

) models.pricepolicy.objects.create(price=

9.9, period=

30, content_object=obj)

# 2 查詢出課程id 為1的所有的**策略

course = models.course.objects.

filter(id

=1).first(

) price_policys = course.price_policy_list.

all(

)print

(price_policys,

'這就是所有的**'

'新增成功'

)

django元件的forms元件

一.校驗字段功能 models.py class userinfo models.model name models.charfield max length 32 pwd models.charfield max length 32 email models.emailfield tel mode...

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攻擊 跨站點請求偽造 的標籤 迴圈給出的字串或者變數,可以混用 值得注意的是,這裡的變數的值預設不是自動轉義的,要麼你相信你的變數,要麼你就是用...