Python 如何通过Django中的模型类创建“ContentType”模型对象?
我正在使用django 1.6 我有一个模型,它有一个引用内核Python 如何通过Django中的模型类创建“ContentType”模型对象?,python,django,model,Python,Django,Model,我正在使用django 1.6 我有一个模型,它有一个引用内核ContentType模型的ForeignKey字段: class AuthEvent(models.Model): user = models.ForeignKey(User, null=True, verbose_name='授权用户') status = models.IntegerField(default=0, verbose_name='授权状态') timestamp = models.DateT
ContentType
模型的ForeignKey
字段:
class AuthEvent(models.Model):
user = models.ForeignKey(User, null=True, verbose_name='授权用户')
status = models.IntegerField(default=0, verbose_name='授权状态')
timestamp = models.DateTimeField(verbose_name='授权时间')
# Look at this field!
content_type = models.ForeignKey(ContentType, verbose_name='授权类型', null=True)
@classmethod
def make_auth(cls, user, tp=None):
# question here!
# I want to obtain a ContentType object refering to the tp model class
cls.objects.create(user=user, content_type=(tp)
例如,我有一个
类a(models.Model)
,如何获得一个ContentType
对象引用模型类a?我自己找到了答案,我以前以为它是类方法
或静态方法
,但发现它是Manager上的工厂方法:
>>> from django.contrib.auth.models import User
>>> user_type = ContentType.objects.get_for_model(User)
>>> user_type
<ContentType: user>
>>来自django.contrib.auth.models导入用户
>>>user\u type=ContentType.objects.get\u for\u model(用户)
>>>用户类型
见: