MongoEngine在進行數(shù)據(jù)操作時會發(fā)出一些信號,我們可以連接這些信號進行一些額外的操作。注意:要在MongoEngine中使用信號,需要安裝 blinker 這個庫。 $ pip install blinker MongoEngine提供的信號如下: pre_init: 在創(chuàng)建一個新的 Document 或者 Embedded
MongoEngine在進行數(shù)據(jù)操作時會發(fā)出一些信號,我們可以連接這些信號進行一些額外的操作。注意:要在MongoEngine中使用信號,需要安裝 blinker 這個庫。
$ pip install blinker
MongoEngine提供的信號如下:
使用 signals 將信號與回調(diào)函數(shù)進行連接。
from mongoengine import * from mongoengine import signals class Author(Document): name = StringField() @classmethod def pre_save(cls, sender, document, **kwargs): print("Pre Save: %s" % document.name) @classmethod def post_save(cls, sender, document, **kwargs): print("Post Save: %s" % document.name) if 'created' in kwargs: if kwargs['created']: print("Created") else: print("Updated") signals.pre_save.connect(Author.pre_save, sender=Author) signals.post_save.connect(Author.post_save, sender=Author)
注意:對于 RefereneField 的reverse_delete_rules參數(shù)不會觸發(fā)信號。
原文地址:mongoengine教程(5)——信號, 感謝原作者分享。
Copyright ? 2019- 91gzw.com 版權所有 湘ICP備2023023988號-2
違法及侵權請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務所王興未律師提供法律服務