2016-08-29 17 views
0

私はDjango 1.9.9を使用していますので、PassThroughManagerではなくモデルを編集するにはどうすればよいですか?django-model-utilsの新しいバージョンにPassThroughManagerがありません

from model_utils.managers import PassThroughManager 

class TopicQuerySet(QuerySet): 

    def get_topic_today(self): 
     return self.filter(created_at__day=datetime.date.today()).order_by('title') 

    def get_topic_popular(self): 
     return self.annotate(entry_count=Count('entry')).order_by('-entry_count') 


class Topic(TimeStampModel): 

    objects = PassThroughManager.for_queryset_class(TopicQuerySet)() 

私はGeoManagerを使用しようとするべきでしょうか?ジャンゴの

答えて

0

新しいバージョン(私は信じて1.9+)は、いくつかのビルトイン(model_utils)機能のようなPassThroughManagerを持っています。このように書き直すと、同じコンセプトが得られるはずです。

from django.db.models import Manager 
from django.db.models.query import QuerySet 

class TopicManager(Manager): 
    pass 

class TopicQuerySet(QuerySet): 

    def get_topic_today(self): 
     return self.filter(created_at__day=datetime.date.today()).order_by('title') 

    def get_topic_popular(self): 
     return self.annotate(entry_count=Count('entry')).order_by('-entry_count') 

class Topic(TimeStampModel): 
    objects = TopicManager.from_queryset(TopicQuerySet)() 
関連する問題