0
我有兩個模型,比如Question
和Topic
。在Django自定義管理器類中使用另一個模型管理器的代碼
我正在嘗試向Question模型的自定義管理器添加方法,例如,一些按Topic
過濾的方法。
我似乎無法使用其他經理的代碼爲這個(不能import Topic
要麼,所以我不能做Topic.objects...
)
在class QuestionManager
def my_feed(self, user):
topics = TopicManager().filter(user=user) # 1st approach
#topics = Topic.objects.filter(user=user) # 2nd line
# do something with topics
類TopicManager ....
使用1的方法,我得到以下錯誤:
virtualenv/local/lib/python2.7/site-packages/django/db/models/sql/query.pyc in get_meta(self)
219 by subclasses.
220 """
--> 221 return self.model._meta
222
223 def clone(self, klass=None, memo=None, **kwargs):
AttributeError: 'NoneType' object has no attribute '_meta'
我無法使用第二行,因爲我無法導入Topic,因爲Topic取決於此文件中的TopicManager。有沒有解決方法?
什麼是導入內部方法的性能打擊?任何指針將不勝感激。 – ustun 2012-04-06 11:51:15
沒有性能問題。 – 2012-04-06 11:53:05