我查询DB以获取我想要转换为dict的产品列表。 这是我的模特:
class Product(db.Model):
__tablename__ = 'products'
id = db.Column(db.Unicode(64), primary_key=True)
name = db.Column(db.Unicode(2048), nullable=False)
descripton = db.Column(db.Unicode(2048), nullable=False)
这就是我想要的结果:
result = { id: { name: name, description: description}, ... }
我可以使用列表理解语法来执行此操作吗?
result = {p.id: {name: p.name, description: p.description for p in products.all()}
答案 0 :(得分:1)
当然可以。拿这个:
{p.id: {name: p.name, description: p.description} for p in products.all()}
但你确定你需要吗?您可以覆盖__getitem__
方法:
class Product(db.Model):
__tablename__ = 'products'
id = db.Column(db.Unicode(64), primary_key=True)
name = db.Column(db.Unicode(2048), nullable=False)
descripton = db.Column(db.Unicode(2048), nullable=False)
def __getitem__(self, key):
# Code to find object in DB and transform them if you want.