Удалить объект из массива, если он содержит ключ: значение равно нулю - PullRequest
0 голосов
/ 27 марта 2020

У меня есть flask API, который потребляет SQL запросов с использованием SQL Алхимия

Иногда в моем массиве есть объекты, которые содержат нулевые значения, я хотел бы удалить их, но они не были успешными в мои попытки ..

class SliceData(Resource):
  def get(self, axis_choice, legend_choice, year_choice):
    connection = db_connect.connect()
    query = select([
                    getattr(workers.c, axis_choice),
                    getattr(workers.c, legend_choice),
                    func.count(workers.c.id).label('count')
                    ])
    query = query.where(workers.c.year == year_choice)
    query = query.group_by( getattr(workers.c, legend_choice), getattr(workers.c, axis_choice))
    result = connection.execute(query)
    return jsonify({'data': [dict(row) for row in result]})

Приведенный выше код выводит JSON данные, которые выглядят следующим образом

{
    "data": [
        {
            "age": 46,
            "count": 33,
            "years_training": 2
        },
        {
            "age": 32,
            "count": 67,
            "years_training": 0
        },
        {
            "age": 51,
            "count": 1262,
            "years_training": null
        },
    ]
}

Я попытался избавиться от нулевых значений с помощью SQLAlchemy с query = query.where(workers.c.years_training !=None)

но это в итоге меняет запрос

Поэтому я хотел бы удалить объекты, которые имеют нулевые значения, в моем return jsonify, чтобы мой вывод выглядел следующим образом

{
        "data": [
    {
        "age": 46,
        "count": 33,
        "years_training": 2
    },
    {
        "age": 32,
        "count": 67,
        "years_training": 0
    },
        ]
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...