实例化Django模型引发TypeError:isinstance()arg 2必须是类,类型或类和类型的元组

问题描述 投票:9回答:3

我有一个现有的,功能正常的Django应用程序,该应用程序在过去的几个月中一直以DEBUG模式运行。当我将站点更改为以生产模式运行时,当我遇到尝试创建新的引用模型对象的特定视图时,我开始收到以下例外电子邮件。

Traceback (most recent call last):

 File "/usr/local/lib/python2.7/dist-packages/Django-1.4.2-py2.7.egg/django/core/handlers/base.py", line 111, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File "/usr/local/lib/python2.7/dist-packages/Django-1.4.2-py2.7.egg/django/contrib/auth/decorators.py", line 20, in _wrapped_view
   return view_func(request, *args, **kwargs)

 File "/var/django/acclaimd2/program/api.py", line 807, in put_interview_request
   referral = Referral()

 File "/usr/local/lib/python2.7/dist-packages/Django-1.4.2-py2.7.egg/django/db/models/base.py", line 349, in __init__
   val = field.get_default()

 File "/usr/local/lib/python2.7/dist-packages/Django-1.4.2-py2.7.egg/django/db/models/fields/related.py", line 955, in get_default
   if isinstance(field_default, self.rel.to):

TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types

如您所见,仅尝试实例化Referral模型对象会触发此异常。这是有问题的模型:

class Referral (models.Model):
    opening = models.ForeignKey(Opening,related_name='referrals',null=False,blank=False)
    origin_request = models.ForeignKey('common.request',related_name='referrals',null=True,default=None)
    candidate = models.ForeignKey(User,related_name='referrals',null=False,blank=False)
    intro = models.TextField(max_length=1000,null=False,blank=False)
    experience = models.TextField(max_length=5000,null=False,blank=False)
    email = models.CharField(max_length=255,null=False,blank=False)
    phone = models.CharField(max_length=255,null=False,blank=True,default='')

    def __unicode__(self):
        return u"%s" % self.id

这是Django中的错误还是我在不知不觉中做了我不应该做的事情?有人对修复或解决方法有任何建议吗?

我有一个现有的,功能正常的Django应用程序,该应用程序在过去的几个月中一直以DEBUG模式运行。当我将站点更改为以生产模式运行时,我开始获得以下内容...

django django-models
3个回答
13
投票

UPDATE


1
投票

另一个原因:


0
投票

在我的情况下,我有一个模型'Entity'和一个'User',它继承了'AbstractBaseUser'。一个“用户”模型具有一个实体字段,该字段以这种方式配置了ForeignKey to Entity:

© www.soinside.com 2019 - 2024. All rights reserved.