我有一个现有的,功能正常的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模式运行。当我将站点更改为以生产模式运行时,我开始获得以下内容...
UPDATE
另一个原因:
在我的情况下,我有一个模型'Entity'和一个'User',它继承了'AbstractBaseUser'。一个“用户”模型具有一个实体字段,该字段以这种方式配置了ForeignKey to Entity: