Передавая db.model в качестве аргумента для запроса, введите «Тип [UserModel]» не имеет ожидаемого атрибута «запрос». - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь передать db.model в качестве аргумента функции, которая будет делать запрос и возвращать результат. Следующий код работает правильно, но я получил предупреждение Pycharm:

Тип 'Type [UserModel]' не имеет ожидаемого атрибута 'query'

Есть идеи, что может ошиблись, или как сделать лучше?

from .app import app
from app import db
from flask import abort, jsonify
from flask_restful import Api, Resource


class UserModel(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True, nullable=False)

    def serialize(self):
        return {"id": self.id, "name": self.name}


class UserModelView(Resource):
    def get(self, user_id):
        if user_id:
            return get_single_row(UserModel, user_id)

def get_single_row(model, id_):
    row = model.query.get(id_)
    if row:
        return jsonify({model.__tablename__: row.serialize()})
    else:
        abort(404)


api = Api(app)
api.add_resource(UserModelView, '/api/users/', '/api/users/<int:user_id>/')


...