Колба SQLAlchemy + Marshal_list_with + выбранные столбцы - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь извлечь выбранные столбцы из объединения двух таблиц и возврата результатов с использованием api.marshal_list_with. Мое определение модели выглядит следующим образом:

project_model = api.model('Project', {
'id': fields.String(readOnly=True, description='Unique project id'),
'name': fields.String(required=True, description='Project name'),
'created_user_id': fields.String(description='Id for user that created the project'),
'created_time': fields.String(readOnly=True, description='Time of first creation'),
'updated_time': fields.String(description='Time of last modification'),
'access_type': fields.String(description='Level of access')})

Фактический код запроса:

@api.marshal_list_with(project_model)
def get(self):
    """
    Get details of all projects associated with user
    """
    user_id = get_jwt_identity()
    projects_l = db.session.query(Project, ProjectUserJunction).join(
        ProjectUserJunction).filter(ProjectUserJunction.user_id == user_id).values(
        Project.id, Project.name, Project.created_user_id,
        Project.created_time, Project.updated_time,
        ProjectUserJunction.access_type)
    return projects_l

Когда я делаю вызов get, ответ, который я получаю, является связкой нулей:

{
    "id": null,
    "name": null,
    "created_user_id": null,
    "created_time": null,
    "updated_time": null,
    "access_type": null
}

Если я распечатываю содержимое project_l на сервере, это не пустые места, поэтому я знаю, что запрос не нарушен. Это может быть что-то с маршалингом, которого мне не хватает. Как я могу решить эту проблему?

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