我有一個現有的功能性Django應用程序,它在過去的幾個月裏一直以DEBUG模式運行。當我將網站更改爲在生產模式下運行時,當我點擊試圖創建新的引用模型對象的特定視圖時,我開始收到以下異常電子郵件。實例化Django模型引發TypeError:isinstance()arg 2必須是類和類的類,類型或元組
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
正如您所看到的,僅嘗試實例化引用模型對象就會觸發此異常。這是有問題的模式:
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的錯誤還是我在不知不覺中做一些我不應該?任何人有任何修復或解決方法的建議?
發生了什麼'put_interview_request interview_request_json ['email'])'? –
INSTALLED_APPS中是否有一個名爲'common'的應用程序?它是否有'請求'模型? –
@AbidA - 對不起,我開始嘗試解決該問題之後的一個堆棧跟蹤版本。我更新了第一個片段以反映適當的堆棧跟蹤。 –