gpt4 book ai didi

python - 带有嵌套类的 SQLalchemy

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:52 25 4
gpt4 key购买 nike

我有一个相当复杂的对象,它需要一些其他对象作为它的成员。像这样:

from engine import engine

Class Car(object):

def __init__(self,engine_type):
self.engine=engine(engine_type)

是否有一种轻松的方法可以将此类嵌套定义映射到数据库,例如使用 SQLAlchemy?

感谢您的帮助。我正在学习 SQLAlchemy 并使用 ORMS。

最佳答案

不太清楚您要完成什么。如果我理解,您正在尝试使用指向另一个引擎模型的引擎属性定义 Car 模型,并且通过使用 engine_type 创建 Car 对象,代码应该:

  • 如果引擎类型不存在则创建引擎对象
  • 如果存在引擎类型则加载引擎对象

然后将其分配给 Car 对象。

如果是这样,您应该执行以下操作。

class Engine(object):
def __init__(self, engine_type):
self.engine_type

@staticmethod
def load(engine_type):
return session.query(Engine)\
.filter(engine_type==engine_type).one()

class Car(object):
def __init__(self, engine_type):
try:
engine = Engine.load(engine_type)
except NoResultsFound:
engine = Engine(session_type)
session.add(engine)
self.engine=engine

您需要自己定义以在汽车映射器上创建“引擎”关系,并且您还需要调整代码以在需要时启用 session 对象的范围。

关于python - 带有嵌套类的 SQLalchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com