你能解释一下非常基本的Django内容类型吗?
他们的目的是什么?
答案 0 :(得分:6)
ContentType
只是数据库中的模型和表,其中包含有关django应用程序中所有其他表/模型的信息。
Postgres表:
=> \d django_content_type;
Column | Type | Modifiers
-----------+------------------------+-----------------------------------------
id | integer | not null ...
name | character varying(100) | not null
app_label | character varying(100) | not null
model | character varying(100) | not null
postgres中的数据:
=> SELECT * from django_content_type;
id | name | app_label | model
----+-----------------------+-------------------+---------------------
1 | permission | auth | permission
2 | group | auth | group
3 | user | auth | user
4 | auth user groups | auth | authusergroups
...
例如,如果要在应用程序中构建自定义管理员,并获取表格列表,可以使用ContentType
模型:
>>> from django.contrib.contenttypes.models import ContentType
>>> tables = ContentType.objects.filter(app_label="my_app")
检查django管理员来源的用例,在那里积极使用的ContentTypes。