只添加级联新对象?

时间:2012-01-12 13:40:42

标签: sqlalchemy relationship cascade

我想知道在使用父子关系时,只能将新的子对象添加到数据库中。也就是说,当您添加父级时,级联应该只自动添加那些现在不在数据库装备中的(新)子级,即持久性。您可以覆盖儿童的添加方法来检查这种情况,还是有任何方便的解决方法?

1 个答案:

答案 0 :(得分:3)

您必须使用Events作为添加对象。只需为append事件创建一个侦听器或创建事件并跟踪数据。您可以在此基础上过滤日期。

您可以使用

之类的代码
from sqlalchemy import event

def child_append_listener(target, value, initiator):
    print "received append event for target: %s" % target

event.listen(Parent.children, 'append', child_append_listener)