Доска с flask - PullRequest
       8

Доска с flask

0 голосов
/ 26 мая 2020

Я хочу создать таблицу лидеров на основе flask. У меня есть модели пользователей и медалей, а также таблица отношений многие ко многим. Я хотел бы отобразить десять лучших пользователей с наибольшим количеством медалей, и я хочу знать, есть ли «нестабильный» способ задать этот вопрос. Соответствующий код выглядит следующим образом:

Модель пользователя:

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    medals = db.relationship('Medal', secondary=medals_users, backref='user')

Модель медали:

class Medal(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64))

Таблица отношений:

medals_users = db.Table('medals_users',
          db.Column('user_id', db.Integer, db.ForeignKey('user.id'), nullable=False),
          db.Column('medal_id', db.Integer, db.ForeignKey('medal.id'), nullable=False),
          db.PrimaryKeyConstraint('user_id', 'medal_id'))

Я думал решение будет среди строк:

top = User.query.filter_by(User.medal.count()).order_by(User.medal.count()).limit(10).all()

Но, похоже, я потерялся, любая помощь будет оценена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...