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
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
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
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
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')
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
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
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
def get_object(cls, **kwargs): kwargs = get_perfect_filter_params(cls, **kwargs) try: return cls.objects.get(**kwargs) except Exception as e: return e
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