Получаем сериализированное свойство в связанном объекте.
Как получить единичный объект
Для этого нужна функция:
def __str__(self):
return self.name_ru
return self.name_ru
Весь пример:
class Category(db.Model, RoleMixin):
__tablename__ = 'categories'
id = db.Column(db.Integer, primary_key=True, unique=True)
cat_global_id = db.Column(db.Integer, db.ForeignKey('categories_global.id'))
parent_global_name = db.relationship('CategoryGlobal', backref=db.backref('categories'))
@property
def serialize_for_categories(self):
return {
'id': self.id,
'cat_global_name': self.parent_global_name.__str__(),
}
class CategoryGlobal(db.Model, RoleMixin):
__tablename__ = 'categories_global'
id = db.Column(db.Integer, primary_key=True, unique=True)
name_ru = db.Column(db.String(255))
def __str__(self):
return self.name_ru
__tablename__ = 'categories'
id = db.Column(db.Integer, primary_key=True, unique=True)
cat_global_id = db.Column(db.Integer, db.ForeignKey('categories_global.id'))
parent_global_name = db.relationship('CategoryGlobal', backref=db.backref('categories'))
@property
def serialize_for_categories(self):
return {
'id': self.id,
'cat_global_name': self.parent_global_name.__str__(),
}
class CategoryGlobal(db.Model, RoleMixin):
__tablename__ = 'categories_global'
id = db.Column(db.Integer, primary_key=True, unique=True)
name_ru = db.Column(db.String(255))
def __str__(self):
return self.name_ru
Как получить массив из ID
В классе моделей:
@property
def serialize_time(self):
return {
self.time.strftime('%d'),
}
def serialize_time(self):
return {
self.time.strftime('%d'),
}
В файле, где нужно получить данные
query = db.session.query(Task).filter_by(user_id=user_id)
query = [x.serialize_time for x in query]
# Переделываем множество [{'15'}, {'4'}] в список id -> [15, 4]
query = [int(list(x)[0]) for x in query]
# Отсортируем цифры по увеличению
query.sort(key=lambda x: x)
query = [x.serialize_time for x in query]
# Переделываем множество [{'15'}, {'4'}] в список id -> [15, 4]
query = [int(list(x)[0]) for x in query]
# Отсортируем цифры по увеличению
query.sort(key=lambda x: x)