コード例 #1
0
 def get_object_list(cls, request, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     kwargs.update(**{'user_id': request.user.id})
     try:
         return cls.objects.filter(**kwargs)
     except Exception as e:
         return e
コード例 #2
0
ファイル: mixins.py プロジェクト: 0x4e38/TTPublishApp
    def get_object(cls, *args, **kwargs):
        kwargs = get_perfect_filter_params(cls, **kwargs)
        try:
            instance = cls.objects.get(*args, **kwargs)
        except Exception as e:
            return e

        return instance
コード例 #3
0
ファイル: models.py プロジェクト: dennis1984/BYAdminApp
 def filter_objects(cls, fuzzy=True, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     if fuzzy:
         for key in kwargs:
             if key in cls.AdminMeta.fuzzy_fields:
                 kwargs['%s__contains' % key] = kwargs.pop(key)
     try:
         return cls.objects.filter(**kwargs)
     except Exception as e:
         return e
コード例 #4
0
ファイル: mixins.py プロジェクト: 0x4e38/TTPublishApp
    def filter_objects(cls, *args, **kwargs):
        page_size = kwargs.get('page_size', settings.MAX_PAGE_SIZE)
        page_index = kwargs.get('page_index', 1)
        offset = page_size * (page_index - 1)
        limit = page_size

        kwargs = get_perfect_filter_params(cls, **kwargs)
        try:
            instances = cls.objects.filter(*args, **kwargs)[offset:limit]
        except Exception as e:
            return e

        return instances
コード例 #5
0
    def get_object(cls, **kwargs):
        start_amount = None
        if 'start_amount' in kwargs:
            start_amount = kwargs.pop('start_amount')

        kwargs = get_perfect_filter_params(cls, **kwargs)
        try:
            instance = cls.objects.get(**kwargs)
        except Exception as e:
            return e

        if not start_amount or Decimal(
                instance.start_amount) <= Decimal(start_amount):
            return instance
        else:
            return Exception('Data does not existed')
コード例 #6
0
ファイル: models.py プロジェクト: zhang1229/BYWebApp
 def filter_objects(cls, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     try:
         instances = cls.objects.filter(**kwargs)
     except Exception as e:
         return e
     # 排序
     sort_instances = sorted(instances, key=lambda x: x.sort_order)
     key = -1
     for index, item in enumerate(sort_instances):
         if item.sort_order != 0:
             break
         key = index
     if key == -1:
         return sort_instances
     else:
         new_sort_list = sort_instances[key + 1:]
         new_sort_list.extend(sort_instances[:key + 1])
         return new_sort_list
コード例 #7
0
    def filter_objects(cls, fuzzy=False, **kwargs):
        start_amount = None
        if 'start_amount' in kwargs:
            start_amount = kwargs.pop('start_amount')

        kwargs = get_perfect_filter_params(cls, **kwargs)
        if fuzzy:
            for key in COUPONS_CONFIG_FUZZY_FIELDS:
                if key in kwargs:
                    kwargs['%s__contains' % key] = kwargs.pop(key)
        try:
            instances = cls.objects.filter(**kwargs)
        except Exception as e:
            return e

        if not start_amount:
            return instances
        filter_instances = []
        for ins in instances:
            if Decimal(ins.start_amount) >= Decimal(start_amount):
                filter_instances.append(ins)
        return filter_instances
コード例 #8
0
ファイル: models.py プロジェクト: dennis1984/BYAdminApp
 def filter_objects(cls, fuzzy=True, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     if fuzzy:
         for key in kwargs:
             if key in cls.AdminMeta.fuzzy_fields:
                 kwargs['%s__contains' % key] = kwargs.pop(key)
     try:
         instances = cls.objects.filter(**kwargs)
     except Exception as e:
         return e
     # 排序
     sort_instances = sorted(instances, key=lambda x: x.sort_order)
     key = -1
     for index, item in enumerate(sort_instances):
         if item.sort_order != 0:
             break
         key = index
     if key == -1:
         return sort_instances
     else:
         new_sort_list = sort_instances[key + 1:]
         new_sort_list.extend(sort_instances[:key + 1])
         return new_sort_list
コード例 #9
0
 def get_object(cls, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     try:
         return cls.objects.get(**kwargs)
     except Exception as e:
         return e
コード例 #10
0
ファイル: mixins.py プロジェクト: 0x4e38/TTPublishApp
 def get_detail(cls, *args, **kwargs):
     kwargs = get_perfect_filter_params(cls, **kwargs)
     instance = cls.get_object(*args, **kwargs)
     if isinstance(instance, Exception):
         return instance
     return instance.perfect_detail