1. 程式人生 > >Django-content—type

Django-content—type

字段 分享圖片 () blog 每次 裏的 content get 高層

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.model_class() <class ‘django.contrib.auth.models.User‘>
user_type.get(username="xxx") <user:xxx>



表結構:

技術分享圖片

表操作

增加:每次生成表的時候會自動創建

查找:

  正向:

  反向:

Django-content—type