Доступ к результатам фильтра запроса sqlalchemyPython

Программы на Python
Ответить
Anonymous
 Доступ к результатам фильтра запроса sqlalchemy

Сообщение Anonymous »

Я разрабатываю свое первое приложение Flask.
В этом приложении у меня есть запрос на размещение, из которого я делаю запрос к базе данных. Однако я не могу получить доступ к результату запроса и отобразить его.
Я рассмотрел некоторые похожие вопросы, но ни один из них не решил проблему. Я просмотрел документацию по sqlalchemy, но мне это непонятно https://docs.sqlalchemy.org/en/14/orm/q ... .filter_by
это моя модель:

Код: Выделить всё

from db import db

class ConfigsModel(db.Model):
__tablename__ = "configs"

id = db.Column(db.Integer, primary_key=True)
client_id = db.Column(db.Integer, db.ForeignKey("clients.id"), unique=False, nullable=False)
endpoint = db.Column(db.String, unique=False, nullable=True)
purpose = db.Column(db.String(50), unique=False, nullable=True)
is_active = db.Column(db.Integer,unique=False, nullable=True)
credentials_data = db.Column(db.String, unique=False, nullable=True)
data = db.Column( db.Text, unique=False, nullable=True)

@classmethod
def find_by_purpose_and_id(cls, client_id, purpose):
return cls.query.filter_by(client_id= client_id,purpose=purpose)
db — это объект SQLAlchemy.
Это мой класс с методом put.

Код: Выделить всё

from common.schemas.ConfigSchema import  ConfigSchema
from flask_smorest import Blueprint , abort
from flask.views import  MethodView
from models.ConfigsModel import ConfigsModel

blp = Blueprint("configs", __name__, description="configuration Operations" )

@blp.route("/v1/config/")
class ConfigController(MethodView):

@blp.arguments(ConfigSchema)
@blp.response(200, ConfigSchema)
def put(self, request_data, client_id):

configs = ConfigsModel.find_by_purpose_and_id(12, 'INITIAL')

if not configs:
abort(404, message="Missing Configuration for client")

for config in configs:
print(config.endpoint)

print(configs)

return configs
Это класс схемы:

Код: Выделить всё

from marshmallow import Schema, fields

class ConfigSchema(Schema):
id= fields.Int(dump_only=True)
client_id = fields.Int(required=True)
endpoint = fields.Str(required=False)
purpose = fields.Str(required=False)
credentials_data = fields.Str(required=False)
Как получить результат, возвращаемый запросом и функцией find_by_member_and_id?

Подробнее здесь: https://stackoverflow.com/questions/793 ... er-results
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»