Django-content—type
阿新 • • 發佈:2018-02-26
字段 分享圖片 () blog 每次 裏的 content get 高層
user_type.model_class() <class ‘django.contrib.auth.models.User‘>
user_type.get(username="xxx") <user:xxx>
Django包含一個contenttype應用,它可以追蹤安裝在你的Django項目裏的所有的應用,並提供一個高層次的,通用的接口用於與你的模型進行交互
Contenttypes 的核心應用是ContentType 模型,存在於 django.contrib.contenttypes.models.ContentType。ContentType 的實例表示並存儲你的項目當中安裝的應用的信息,
並且每當新的模型安裝時會自動創建新的 ContentType 實例。
Contenttypes 框架包含在django-admin startproject 創建的默認的INSTALLED_APPS 列表中,但如果你移除了它或者你手動創建 INSTALLED_APPS 列表,你可以通過添加‘django.contrib.contenttypes‘到你的 INSTALLED_APPS 設置中來啟用它。
每一個contenttype實例有兩個字段,共同來唯一描述一個已經安裝的模型
app_label:模型所在的應用名稱,這個取自模型的app_label屬性,並只包括應用的python導入路徑的最後部分
model:模型的類的名稱
from django.contrib.contenttypes.models import ContentType
user_type = ContentType.objects.get(app_label="auth",model="user")
print(user_type) <contenttypes:user>
user_type.get(username="xxx") <user:xxx>
表結構:
表操作
增加:每次生成表的時候會自動創建
查找:
正向:
反向:
Django-content—type