以下是有问题的代码
class Country(ModelBase):
__tablename__ = "countries"
code = Column(String(64), nullable=False)
display_name = Column(String(64), nullable=False)
class State(ModelBase):
__tablename__ = "states"
code = Column(String(64), nullable=False)
display_name = Column(String(64), nullable=False)
country_id = Column(Integer, ForeignKey(Country.id), nullable=False)
country = relationship(Country)
我想将State的一个实例转换为json,而转换country(State类中的关系)只有在加载时才应转换,否则它应该是None。
当我尝试将此转换为json时,我只想检查此关系是否已加载
if state.country is None: # Or some other way of checking
它引发异常sqlalchemy.orm.exc.DetachedInstanceError。是否可以为此属性而不是异常获取None(或检查属性是否已加载)。如果在会话结束后,我不想延迟加载它(如果我想加载它,我会在关闭会话之前加载它。)
答案 0 :(得分:0)
如果您已分离实例,则可以检查以下条件:
public class ImageList {
private List<ImageEntity> list;
public ImageList() {
list = new ArrayList<>();
}
public ImageList(List<ImageEntity> list) {
this.list = list;
}
public boolean add(ImageEntity entity) {
return list.add(entity);
}
public void addAll(List<ImageEntity> list) {
list.addAll(entity);
}
}