我有两个django经理
投票经理

class VoteManager(model.Manager):

    def all_with_vote_info(self):
        qs = super(VoteManager, self).get_query_set()
        qs = qs.annotate(score=Sum('votes__score', distinct=True))
        return qs

    ....

软删除管理器
class SoftDeleteManager(models.Manager):

    def all_active(self):
        qs = super(SoftDeleteManager, self).get_query_set()
        qs = qs.filter(time_deleted=None)
        return qs

    ....

如何链接来自VoteManager.all_with_vote_infoSoftDeleteManager.all_active和任意数量的管理器方法的查询集结果?

最佳答案

找到解决方案:PassThroughManager
https://django-model-utils.readthedocs.org/en/latest/managers.html#passthroughmanager
更新:
PassThroughManager已被弃用,请改用Django的内置QuerySet.as_manager()和/或Manager.from_queryset()实用程序。

关于python - 结合django经理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14075839/

10-12 22:00