Vic*_*tor 6 python orm sqlalchemy
我有一节课:
class Chart(Base):
__tablename__ = 'chart'
id = C('chart_id', Integer, primary_key=True)
element_id = C(Integer, ForeignKey('element.element_id'))
element = relationship(Element)
name = C(String)
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
用法很常见,
chart = Chart('Some name')
chart.element_id = element_id
Run Code Online (Sandbox Code Playgroud)
但是在设置element_id之后,chart.element为None.有没有办法在刷新/提交之前为新对象自动加载此关系?
最好的选择是
chart = Chart('Some name')
chart.element = element
Run Code Online (Sandbox Code Playgroud)
将直接对象分配给关系船.如果你被分配,element_id那么直到它被冲洗它将在内存中.在内部,它将触发一个查询SELECT * FROM ELEMENT WHERE ELEMENT.id = element_id但是element_id数据不存储或者它将在内存中.
所以如果你不想冲洗,我建议直接分配对象.
希望这会帮助你.