当前位置: 首页>>代码示例>>Python>>正文


Python Manager.from_queryset方法代码示例

本文整理汇总了Python中django.db.models.Manager.from_queryset方法的典型用法代码示例。如果您正苦于以下问题:Python Manager.from_queryset方法的具体用法?Python Manager.from_queryset怎么用?Python Manager.from_queryset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在django.db.models.Manager的用法示例。


在下文中一共展示了Manager.from_queryset方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: manager_class

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
def manager_class(model, queryset_class=None, class_name=None,
                  use_for_related_fields=False):
    """
    Return the manager class for model.

    If an optional queryset is given, returns a new class using the
    Manager.from_queryset() API.
    """

    for cls in model.mro():
        if not issubclass(model, Model):
            continue
        try:
            mgm = cls.objects
            break
        except AttributeError:
            pass
    else:
        mgm = Manager()

    if not isinstance(mgm, BaseManager):
        raise TypeError('unexpected manager class: %s' %
                        mgm.__class__.__name__)

    if queryset_class is not None:
        mgm = mgm.from_queryset(queryset_class, class_name=class_name)

    if use_for_related_fields:
        mgm.use_for_related_fields = True

    return mgm
开发者ID:fabiommendes,项目名称:codeschool,代码行数:33,代码来源:utils.py

示例2: RedirectQuerySet

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
# -*- coding: utf-8 -*-

"""Manager and queryset for the redirects app."""

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


class RedirectQuerySet(QuerySet):

    def get_redirect_path(self, path, language=None, version_slug=None):
        for redirect in self.select_related('project'):
            new_path = redirect.get_redirect_path(
                path=path,
                language=language,
                version_slug=version_slug,
            )
            if new_path:
                return new_path
        return None


RedirectManager = Manager.from_queryset(RedirectQuerySet)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:25,代码来源:managers.py

示例3:

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
# -*- coding: utf-8 -*-
from __future__ import absolute_import

from django.db.models import Manager

# Need to substitute model_utils in Django<1.7
try:
    Manager.from_queryset
except AttributeError:
    from model_utils.managers import PassThroughManager as Manager
    Manager.from_queryset = Manager.for_queryset_class

from .queryset import CursorQueryset


CursorManager = Manager.from_queryset(CursorQueryset)
开发者ID:kevinastone,项目名称:django-cursor-pagination,代码行数:18,代码来源:managers.py

示例4: FuzzyCountQuerySet

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
from django.db import connections
from django.db.models import QuerySet, Manager
from django.db.models.sql.datastructures import EmptyResultSet


class FuzzyCountQuerySet(QuerySet):

    def fuzzy_count(self):
        cursor = connections[self.db].cursor()

        try:
            cursor.execute('SELECT count_estimate(%s);', (cursor.mogrify(*self.query.sql_with_params()).decode(), ))
        except EmptyResultSet:
            return 0

        return int(cursor.fetchone()[0])

FuzzyCountManager = Manager.from_queryset(FuzzyCountQuerySet)
开发者ID:Stevenholloway,项目名称:SHARE,代码行数:20,代码来源:fuzzycount.py

示例5: import

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
from mozillians.phonebook.validators import (validate_email, validate_twitter,
                                             validate_website, validate_username_not_url,
                                             validate_phone_number, validate_linkedin,
                                             validate_discord)
from mozillians.users import get_languages_for_locale
from mozillians.users.managers import (EMPLOYEES,
                                       MOZILLIANS, PRIVACY_CHOICES, PRIVACY_CHOICES_WITH_PRIVATE,
                                       PRIVATE, PUBLIC, PUBLIC_INDEXABLE_FIELDS,
                                       UserProfileQuerySet)
from mozillians.users.tasks import send_userprofile_to_cis


COUNTRIES = product_details.get_regions('en-US')
AVATAR_SIZE = (300, 300)
logger = logging.getLogger(__name__)
ProfileManager = Manager.from_queryset(UserProfileQuerySet)


def _calculate_photo_filename(instance, filename):
    """Generate a unique filename for uploaded photo."""
    return os.path.join(settings.USER_AVATAR_DIR, str(uuid.uuid4()) + '.jpg')


class PrivacyField(models.PositiveSmallIntegerField):

    def __init__(self, *args, **kwargs):
        myargs = {'default': MOZILLIANS,
                  'choices': PRIVACY_CHOICES}
        myargs.update(kwargs)
        super(PrivacyField, self).__init__(*args, **myargs)
开发者ID:yahkrivetko,项目名称:mozillians,代码行数:32,代码来源:models.py

示例6:

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
from django.db.models import Manager

from .querysets import OrderableQueryset


OrderableManager = Manager.from_queryset(OrderableQueryset)
开发者ID:incuna,项目名称:django-orderable,代码行数:8,代码来源:managers.py

示例7: list

# 需要导入模块: from django.db.models import Manager [as 别名]
# 或者: from django.db.models.Manager import from_queryset [as 别名]
            self._result_cache = list(self.iterator())
        has_prefetch_relateds = len(self._prefetch_related_lookups) > 0
        has_prefetch_models = len(self._our_prefetches) > 0
        needs_prefetches = has_prefetch_relateds or has_prefetch_models
        if needs_prefetches and not self._prefetch_done:
            self._prefetch_related_objects()


    def iterator(self):
        iterator = super(InheritingQuerySet, self).iterator()
        relations_for_attrgetter = tuple(x.replace(LOOKUP_SEP, '.') for x in lookups_to_text(self._our_joins))
        print(relations_for_attrgetter)
        attrgetters = tuple(attrgetter(x) for x in relations_for_attrgetter)
        for obj in iterator:
            yield dig_for_obj(obj=obj, attrgetters=attrgetters)
    #
    def _prefetch_related_objects(self):
        things = defaultdict(list)
        for index, thing in enumerate(self._result_cache, start=0):
            things[thing.__class__].append(thing)

        for klass, instances in things.items():
            prefetches = self._prefetch_related_lookups[:]
            if klass in self._our_prefetches:
                prefetches.extend(self._our_prefetches[klass])
            prefetch_related_objects(instances, prefetches)
        return None


InheritingManager = Manager.from_queryset(InheritingQuerySet)
开发者ID:kezabelle,项目名称:django-inheritrix,代码行数:32,代码来源:inheritrix.py


注:本文中的django.db.models.Manager.from_queryset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。