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