Я использую колбу, функция paginate flask_sqlalchemy отлично работает для page1, но не работает для другой страницы - PullRequest
0 голосов
/ 19 сентября 2019

Я подключен к существующей Ms Access базе данных. И моя модель выглядит как

class Suppliers(db.Model):

   __tablename__ = 'Suppliers'
   SupplierID = db.Column('SupplierID', db.Integer, primary_key=True)
   __table_args__ = {'autoload': True,'autoload_with': db.engine}
   def __repr__(self):
      return f"Suppliers('{self.SupplierID}', '{self.SupplierName}')"
   def as_dict(self):
      return {"SupplierID": self.SupplierID, "SupplierName": 
          self.SupplierName}

В представлениях мой запрос работает хорошо только с page = 1, но это не такработает, когда страница больше 1, т.е. когда страница = 2; запрос Paginate возвращает весь элемент вместо элемента с 20 по 39 (когда страница = 2, на страницу = 20) и т. д.

 "sArgs": {"searchString": "sometext","searchPage": 1, "perPage": 20, "orderBy": "SupplierName"}

queryResults = Suppliers.query.filter(Suppliers.SupplierName).like('%'+sArgs['searchString']+'%'))
               .order_by(asc(sArgs['orderBy']
                )).paginate(
                page=int(
                    sArgs['searchPage']
                    ), per_page=sArgs['perPage']
                )

Но он не работает, когда: "sArgs": {"searchString": "sometext", "searchPage": 2, "perPage": 20, "orderBy": "SupplierName"} Я не могу выяснить, в чем проблемаздесь. Пожалуйста, помогите мне найти решение.Спасибо за ваше время.

...