次のORMクラスがあります。
class Video(Base):
...
public_tag_entries = relationship("VideoTagEntry")
tags = association_proxy("public_tag_entries", "value")
さらに、追加時にイベントを関連付けました:
def video_tag_added(target, value, initiator):
print "tag added"
event.listen(Video.public_tag_entries, 'append', video_tag_added)
public_tag_entries に追加すると、イベントが発行されます
video.public_tag_entries.append(VideoTagEntry(value = "foo"))
ただし、次を使用して追加すると:
video.tags.append("foo")
イベントは発行されません。
video.tags アソシエーション プロキシにイベントを登録しようとしましたが、うまくいかないようです。
質問: これは予期された正しい動作ですか、それともバグですか? 回避策はありますか、それとも単に間違ったことをしていますか。
アソシエーション プロキシが、基になる属性に対して orm イベントをトリガーすることを期待します。
ありがとう、ジャッコ