sqlalchemy:分页返回不带pkey的表上不完整的结果

时间:2018-06-23 02:48:11

标签: flask sqlalchemy paginate

当通过不带主键的表的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 %}

0 个答案:

没有答案