Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过Django中的模型类创建“ContentType”模型对象?_Python_Django_Model - Fatal编程技术网

Python 如何通过Django中的模型类创建“ContentType”模型对象?

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

我正在使用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.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(用户)
>>>用户类型
见: