두 모델이 있습니다 (예 : Question
및 Topic
).Django 맞춤 관리자 클래스에서 다른 모델 관리자 코드 사용
Question 모델의 맞춤 관리자에 메소드를 추가하려고합니다. 어떤 방법은 Topic
에 의해 필터링합니다.
클래스 TopicManager
def my_feed(self, user):
topics = TopicManager().filter(user=user) # 1st approach
#topics = Topic.objects.filter(user=user) # 2nd line
# do something with topics
class QuestionManager
에서 나는 (수 없습니다 import Topic
중 하나, 그래서 나는 Topic.objects...
할 수 없습니다)이 대한 다른 관리자의 코드를 사용할 수없는 것 ....
것은 첫째 접근 방식을 사용하여, 나는 다음과 같은 오류 얻을 :
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'
을
토픽은이 파일의 TopicManager에 따라 다르므로 토픽을 가져올 수 없으므로 두 번째 줄을 사용할 수 없습니다. 이 문제를 해결할 수있는 방법이 있습니까?
내부 메소드를 가져올 때 성능이 저하 될 수 있습니까? 모든 포인터는 감사하겠습니다. – ustun
성능에 영향이 없습니다. –