123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- # coding=utf-8
- import os
- from base import init_env
- os.environ["DJANGO_SETTINGS_MODULE"] = "configs.dev_zjl"
- init_env(False)
- from apps.web.device.models import Device
- from apps.web.common.proxy import QuerySetProxy
- class SubQuerySet(object):
- def __init__(self, numbers, flag):
- """
- list [1, 2, 3, 4, ......]
- """
- self._data = numbers
- self._count = len(numbers)
- self._flag = flag
- def count(self):
- print self._count
- return self._count
- @property
- def amountOfData(self):
- return self._data
- @amountOfData.setter
- def amountOfData(self, value):
- from copy import copy
- new_value = copy(value)
- self._data = new_value
- def skip(self, n):
- """
- 跳过的意思就是有多少条数据不需要获得
- """
- assert n >= 0, "skip numbers must >=0 "
- self.amountOfData = self.amountOfData[n:]
- return self
- def limit(self, n):
- assert n >= 0, "skip numbers must >=0 "
- return self.__class__(self.amountOfData[:n], self._flag)
- def __iter__(self):
- for i in self.amountOfData:
- yield "{}-{}".format(self._flag, i)
- def do_1():
- TestQuerySetOne = SubQuerySet(range(1, 97), "one")
- TestQuerySetTwo = SubQuerySet(range(97, 1001), "two")
- # 输出 第 3 页
- TestPageIndex = 10
- TestPageSize = 10
- for i in QuerySetProxy(TestQuerySetOne, TestQuerySetTwo).paginate(pageIndex=TestPageIndex, pageSize=TestPageSize):
- print i
- do_1()
|