gpt4 book ai didi

python - 如何在 SQLAlchemy 中将对象添加到多对一关系中?

转载 作者:行者123 更新时间:2023-11-28 18:51:24 24 4
gpt4 key购买 nike

我写了两个这样的模型:

class ItemType(Base, DBBase):
__tablename__ = 'itemtypes'

id = Column(Integer, primary_key = True)
name = Column(String), nullable = True)

comments = relationship('ItemTypeComment')

class ItemTypeComment(Base, DBBase):
__tablename__ = 'itemtypecomments'

id = Column(Integer, primary_key = True)
comment = Column(String), nullable = True)

itemtype_id = Column(Integer, ForeignKey('itemtypes.id'), nullable = True)
itemtype = relationship('ItemType')

这里我们可以看到,一个ItemType可以有多个ItemTypeComments。现在我想向 ItemType 类添加一个方法,以便轻松地向其添加评论。目前,我写道:

def add_comment(self, comment):
comment = ItemTypeComment()
comment.comment = comment
comment.itemtype = self
DBSession.add(comment)

我想知道是否有更好的方法来做到这一点?谢谢。

最佳答案

好吧,您的代码没有任何问题。但是,您可以使用 .append() 方法稍微简化 add_comment:

def add_comment(self, comment):
comment = ItemTypeComment()
self.comments.append(comment)

这消除了必须设置 comment.itemtype,以及手动将新对象添加到您的 DBSession。

关于python - 如何在 SQLAlchemy 中将对象添加到多对一关系中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344664/

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