我最近从Django 1.6升级到Django 1.8.当我这样做时,我发现我无法再通过外键关系进行查找,如下所述:https: //docs.djangoproject.com/en/1.8/topics/db/queries/#lookups-那种跨度关系.
系统设置为有两个项目使用相同的数据库.(不是我的想法,而是我现在想要改变的东西.)最初创建和迁移模型的项目在升级后工作得很好,但另一个没有.每个模型文件都是相同的.
Models.py:
class Site(models.Model):
name = models.CharField(max_length=255)
class Meta:
app_label = 'project1'
class Page(models.Model):
title = models.CharField(max_length=255)
site = models.ForeignKey('Site')
class Meta:
app_label = 'project1'
Run Code Online (Sandbox Code Playgroud)
Django Shell的错误回溯:
>>> x = models.Site.objects.filter(page__id=1000)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/user_name/project2/venv/local/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/user_name/project2/venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 679, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/user_name/project2/venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 697, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/user_name/project2/venv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line …Run Code Online (Sandbox Code Playgroud)