2015-02-24 47 views
2

我試圖做一個簡單的查詢,在最新的(1.7.4)之前的所有版本的django上完美的作品。有問題的查詢如下:Django 1.7.4與'external_aliases'問題

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

什麼是用filter爲最新的Django版本改變了嗎?這是一個簡單的查詢Django的代碼中失敗......

在下面的文件中的行250是什麼原因造成的問題:

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

+0

從哪裏導入這個''用戶'類?我在Django源代碼中看不到任何這樣的東西。 – mimo 2015-02-24 19:32:50

+0

這裏的'User'類是一個例子。基本上在模型上做一個過濾器。我會改變它,以免造成混淆。 – KVISH 2015-02-24 19:33:36

+0

好的,謝謝。但是你的問題仍然存在問題。一個'Model''實例沒有任何過濾方法!是你想寫的''buddies = Buddy.objects.filter(active = True)嗎?如果您發佈導致您引用錯誤的確切代碼段,這將有很大幫助。 – mimo 2015-02-24 19:38:39

回答

1

在我們的場景中,我們遇到了這個在升級到1.8的Django來自django 1.4。清除緩存修復了它。