有一个简单的代码:
class City(models.Model):
slug = models.SlugField(max_length=150, unique=True)
name = models.CharField(max_length=255)
class CityPart(models.Model):
city = models.ForeignKey('City', related_name='rel_cityparts')
slug = models.SlugField(max_length=150, unique=True)
name = models.CharField(max_length=255)
def __unicode__(self):
#return self.name
return u'%s (%s)' % (self.name, self.city.name)
我发现in__unicode__
方法失败,导致DoesNotExist
异常。Django“认为”相关城市不存在,认为它肯定存在。我已经重新检查过了,数据库是有效的。我使用了 Sqlite 和 Postgres,两者都加载\转储数据库数据,但都引发了这个异常。所以我认为这与一些代码问题有关,而不是与数据库不一致。
完整的追溯在这里(真的没有信息):http ://dpaste.com/hold/1429873/
当我检查文件中的值时virtenv_macos/lib/python2.7/site-packages/debug_toolbar/panels/template.py
,第 85 行(*pformat(value)*)
- 它告诉我“值”变量具有以下值:*[broken repr (DoesNotExist)]*
MacOS、Python 2.7、Django 1.5.2
PS当我试图查看数据库记录列表(ListView)时会引发异常,而不是在我试图创建一个新记录时。