Flask 如何使用SQLALCHEMY在烧瓶中为辅助表分页?

Flask 如何使用SQLALCHEMY在烧瓶中为辅助表分页?,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,我正在尝试为客户机分页一个辅助表,但它不起作用,结果总是大于每页参数,默认情况下每页只显示三个项目 这是我的型号。py: subscribers = db.Table( 'clients_subscribed', db.Column('client_id', db.Integer, db.ForeignKey('client.id', ondelete='CASCADE')), db.Column('user_id', db.Integer, db.ForeignKey(

我正在尝试为客户机分页一个辅助表,但它不起作用,结果总是大于每页参数,默认情况下每页只显示三个项目

这是我的型号。py

subscribers = db.Table(
    'clients_subscribed',
    db.Column('client_id', db.Integer, db.ForeignKey('client.id', ondelete='CASCADE')),
    db.Column('user_id', db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'))
)

class Client(db.Model, UserMixin):
    id = db.Column(db.Integer(), primary_key=True)
    public_id = db.Column(db.String(50), default=uuid.uuid4)
    name = db.Column(db.String())
    subscribed_users = db.relationship(
        'User',
        secondary=subscribers,
        backref=db.backref('user', passive_deletes=True, lazy='dynamic')
    )
这也是我的视图。py

from flask import current_app

current_app.config['SUBSCRIBERS_PER_PAGE'] = 3

@api_route.route('/client/subscribers/<string:category>/<string:client_id>', methods=['GET'])
@token_required
def subscribers(current_user, category, client_id):
    if request.method == 'GET':

        page = request.args.get('page', 1, type=int)
        client = Client.query.filter_by(public_id=client_id).first()

        if not client:
            raise InvalidUsage(u'404, not found!', status_code=404)

        pagination = # Paginate Client.subscribed_users

        psubscribers = pagination.items
        subscribers = {}

        prev = None
        if pagination.has_prev:
            prev = url_for('api.subscribers', category=category, client_id=client_id, page=page-1, _external=True)

        next = None
        if pagination.has_next:
            next = url_for('api.subscribers', category=category, client_id=client_id, page=page+1, _external=True)

        for client in client.subscribed_users:
            subscribers_case = {
                'id': client.id,
                'public_id': client.public_id,
                'image': '/static/img/'+client.image if client.image else '/static/img/logo.png',
                'name': client.name,
            }
            subscribers[client.public_id] = subscribers_case

        return jsonify({
            'subscribers' : subscribers,
            'prev' : prev,
            'next': next,
            'count' : pagination.total
        })
    return jsonify({'error' : 'No data!'})

有什么建议吗,伙计们,如何使这项工作

任何人都知道如何在关系表上分页!!我试图通过
.join(User.subscribed\u clients)
连接这两个表,但没有成功!!没有答案,伙计们!任何人都知道如何在关系表上分页!!我试图通过
.join(User.subscribed\u clients)
连接这两个表,但没有成功!!没有答案,伙计们!
class User(db.Model, UserMixin):
    __tablename__ = 'user'
    id = db.Column(db.Integer(), primary_key=True)
    public_id = db.Column(db.String(50), default=uuid.uuid4)
    name = db.Column(db.String())
    family = db.Column(db.String())
    bio = db.Column(db.String())
    tele = db.Column(db.String(), unique=True)
    password = db.Column(db.String())
    clients = db.relationship('Client', backref='user', passive_deletes=True, lazy='dynamic')
    news = db.relationship('News', backref='user', passive_deletes=True, lazy='dynamic')
    notifications = db.relationship('Notification', backref='user', passive_deletes=True, lazy='dynamic')
    image = db.Column(db.String(), nullable=True)
    slug = db.Column(db.String())
    roles = db.relationship(
        'Role',
        secondary=roles,
        backref=db.backref('users', lazy='joined',
        passive_deletes=True,
        single_parent=True)
    )
    subscribed_clients = db.relationship(
        'Client',
        secondary=subscribers,
        backref=db.backref('client', passive_deletes=True, lazy='joined')
    )