首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新版本的django-model-utils没有PassThroughManager

新版本的django-model-utils没有PassThroughManager
EN

Stack Overflow用户
提问于 2016-08-29 20:25:07
回答 1查看 303关注 0票数 0

我使用的是Django 1.9.9,那么如何编辑我的模型而不是PassThroughManager呢?

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2017-04-11 20:32:46

新版本的Django (我相信是1.9+)有一些类似PassThroughManager的内置(model_utils)功能。像这样重写,你应该会得到相同的概念:

代码语言:javascript
复制
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)()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39206306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档