我尝试做一个简单的查询,在最新版本(1.7.4)之前完全适用于所有版本的django。有问题的查询如下:
buddies = BuddyList.objects.filter(active=True).filter(user_id=4)
我从django得到的错误如下:
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 691, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 705, in _filter_or_exclude
clone = self._clone()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 952, in _clone
query = self.query.clone()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 250, in clone
obj.external_aliases = self.external_aliases.copy()
AttributeError: 'Query' object has no attribute 'external_aliases'
最新版本中是否缺少某些内容?我试着阅读以下内容:
https://github.com/django/django/blob/master/django/db/models/sql/query.py
https://github.com/jmoiron/johnny-cache/issues/29
最新django版本的filter
有什么变化?这是一个在Django代码中失败的简单查询......
以下文件中的第250行是导致问题的原因:
答案 0 :(得分:1)
在我们的场景中,我们在从django 1.4升级到django 1.8时遇到了这个问题。清除缓存修复它。