день.
У меня есть метод в модели, который помогает мне сериализовать мои данные:
@property
def json(self):
return {"id": self.id,
"name": self.name,
"second_name": self.second_name,
"nickname": self.nickname,
"main_technology": str(self.main_technology)
}
И если я делаю запрос по типу EmployeeData.query.all() или Employee.query.all() всё отлично отрабатывает и я могу отправить эти данные в виде json.
Но если я делаю запрос с foreign key по типу :
result_for_test = db.session.query(
Employee.id,
Employee.name,
Employee.second_name,
Employee.nickname,
Employee.main_technology,
EmployeeData.id,
EmployeeData.user_id,
EmployeeData.status,
EmployeeData.cv,
EmployeeData.additional_data).join(EmployeeData).all()
Я уже не могу применить этот метод, так как возвращается не объект модели, а кортеджи со значением полей. Как я могу возвращать объекты моделей в join запросе, чтобы применить свой метод json и сериализовать данные?
Если тебе надо брать коллекцию o2m или m2o - юзай selectinload вместо джоинов
И советую переходить на 2.0 апи алхимии
хорошо. Я учту. Просто вообще пока не совсем разбираюсь с запросами, после Django
https://docs.sqlalchemy.org/en/14/orm/loading_relationships.html
спасибо большое!
Дока по интересующей тебя теме
Обсуждают сегодня