参考Django官方文档
ContentTypeManager
¶
- class
ContentTypeManager
¶ -
ContentType
还有一个自定义管理器,ContentTypeManager
,它增加了以下方法:clear_cache
()¶-
清除
ContentType
内部的缓存,用来跟踪已经创建了ContentType
实例的模型。你可能永远都不需要自己调用这个方法,Django 会在需要的时候自动调用它。
get_for_id
(id)¶-
通过 ID 查找一个
ContentType
。由于该方法与get_for_model()
使用了相同的共享缓存,所以最好使用该方法,而不是通常的ContentType.objects.get(pk=id)
。
get_for_model
(model, for_concrete_model=True)¶-
取一个模型类或一个模型的实例,并返回代表该模型的
ContentType
实例。for_concrete_model=False
允许获取代理模型的ContentType
实例。
get_for_models
(*models, for_concrete_models=True)¶-
取一个数量不等的模型类,并返回一个将模型类映射到代表它们的
ContentType
实例的字典。for_concrete_models=False
允许获取代理模型的ContentType
实例。
get_by_natural_key
(app_label, model)¶-
返回由给定的应用程序标签和模型名称唯一标识的
ContentType
实例。本方法的主要目的是允许ContentType
对象在反序列化过程中通过 自然键 被引用。
当你知道需要使用一个 ContentType
,但又不想麻烦地获取模型的元数据来执行手动查找时,这个 get_for_model()
方法特别有用:
>>> from django.contrib.auth.models import User >>> ContentType.objects.get_for_model(User) <ContentType: user>标签:ContentType,框架,get,models,模型,实例,model From: https://www.cnblogs.com/ldx-wsj/p/16979642.html