当通过不带主键的表的flask_sqlalchemy.BaseQuery分页时(我确实将所有列都定义为模型中的主键),与预期结果数相比,分页对象仅返回一小部分结果。请注意,表行可能有很少的重复项,但是即使考虑了重复项,Pagination.total或Pagination.items也仅返回很小的结果子集(〜5k +行中约有50个结果)。
这可能与该表在数据库中未定义主键有关吗?如何获得分页对象以返回所有结果,即使它仅返回非重复项,也返回所有唯一结果。
[型号]
class MyOrder(db.Model):
"""
order_date timestamp with time zone,
order_id character varying(32),
product_name character varying(2048),
quantity integer,
"""
__tablename__ = 'my_order'
order_date = Column(Date, primary_key=True, nullable=False)
order_id = Column(String, primary_key=True, nullable=False)
product_name = Column(String, primary_key=True)
quantity = Column(Integer, primary_key=True)
[观看次数]
def show_order(page=None):
orders = MyOrder.query.paginate(page, 10, False)
return render_template("index.html", orders=orders.items)
[模板]
{% for order in orders %}
{% order.order_id %}
{% order.product_name %}
{% order.quantity %}
{% endfor %}