DJango 1.7.4问题与' external_aliases'

时间:2015-02-24 19:21:35

标签: django django-models django-orm

我尝试做一个简单的查询,在最新版本(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行是导致问题的原因:

https://github.com/django/django/blob/b626c289ccf9cc487f97d91c2a45cac096d9d0c7/django/db/models/sql/query.py

1 个答案:

答案 0 :(得分:1)

在我们的场景中,我们在从django 1.4升级到django 1.8时遇到了这个问题。清除缓存修复它。