代码之家  ›  专栏  ›  技术社区  ›  Chweng Mega

如何通过创建时间描述对订单进行分页?

  •  1
  • Chweng Mega  · 技术社区  · 6 年前
    class Session(db.DynamicDocument):
        title = db.StringField(required=False)
        created = db.FloatField(required=True)
        source = db.StringField()
    
    @app.route('/page/<int:page>')
    def sessions(page):
        return jsonify(Session.objects.paginate(page=page, per_page=5).items)
    

    响应是dict的列表,该列表按ASC排序,默认情况下,第一页包含最旧的文档。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Danila Ganchar    6 年前

    order_by() 在分页()之前。

    class Session(db.DynamicDocument):
        create_time = db.DateTimeField(required=True)
    
    # clean before test
    for i in Session.objects.all():
        i.delete()
    
    for i in range(20):
        create_time = datetime.now()
        create_time = create_time.replace(year=2000 + i)
        ses = Session(create_time=create_time)
        ses.save()
    
    print('2000 -> 2009')
    items = Session.objects.order_by('create_time').paginate(page=1, per_page=10).items
    for i in items:
        print(i.create_time)
    
    print('2019 -> 2010')
    items = Session.objects.order_by('-create_time').paginate(page=1, per_page=10).items
    for i in items:
        print(i.create_time)
    

    希望这有帮助。