2012-09-16 17 views
10

मैं फ्लास्क और एक SQLlchemy एक्सटेंशन का उपयोग कर रहा हूँ। इसके अलावा मैं विस्तार के दस्तावेज में वर्णित मेरे मॉडल लिखने के लिए घोषणात्मक तरीके का उपयोग कर रहा हूं।sqlalchemy फ्लास्क डालने/अद्यतन/हटाने के बाद

मेरे मॉडल में से एक के लिए, मेरे पास कुछ कोड है जो मुझे एक नई पंक्ति डालने, अपडेट या हटाए जाने के बाद चलाने की ज़रूरत है। मैं सोच रहा था कि यह कैसे करें? आदर्श रूप में मैं सिर्फ .. मॉडल के कार्यों जोड़ना होगा

धन्यवाद SQLAlchemy के Mapper Events पर

उत्तर

16

देखो। आप कॉलबैक फ़ंक्शन को after_insert, after_update, और after_delete ईवेंट पर बाध्य कर सकते हैं।

उदाहरण:

from sqlalchemy import event 

def after_insert_listener(mapper, connection, target): 
    # 'target' is the inserted object 
    print(target.id_user) 

event.listen(User, 'after_insert', after_insert_listener)