首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hybrid_property在if/else中引发TypeError

hybrid_property在if/else中引发TypeError
EN

Stack Overflow用户
提问于 2018-05-01 04:11:24
回答 1查看 47关注 0票数 0

我想对混合属性中的id进行一些格式化,以便10以下的数字以P0为前缀(P01、P02、03等)。下面的代码从elements.py中的__bool__方法抛出一个TypeError: Boolean value of this clause is not defined。我遗漏了什么?

在我的models.py中:

代码语言:javascript
复制
@hybrid_property
def conversion_number(self):
    return 'P0{}'.format(self.id) if self.id < 10 else 'P{}'.format(self.id)
EN

回答 1

Stack Overflow用户

发布于 2018-05-02 04:08:42

这是我的解决方案:

代码语言:javascript
复制
@property
def conversion_number(self):
    return 'P0{}'.format(self.id) if self.id < 10 else 'P{}'.format(self.id)

问题似乎是,当sqlalchemy初始化模型时,id是一个InstrumentedAttribute (而不是int)。这种行为很奇怪,因为我的实现与SQLAlchemy文档中的example没有本质上的不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50107541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档