-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path8ee5bc48.b84ab528.js
1 lines (1 loc) · 11.2 KB
/
8ee5bc48.b84ab528.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{112:function(e,n,t){"use strict";t.d(n,"a",(function(){return b})),t.d(n,"b",(function(){return u}));var r=t(0),i=t.n(r);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var p=i.a.createContext({}),g=function(e){var n=i.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},b=function(e){var n=g(e.components);return i.a.createElement(p.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},d=i.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,l=e.originalType,a=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),b=g(t),d=r,u=b["".concat(a,".").concat(d)]||b[d]||s[d]||l;return t?i.a.createElement(u,c(c({ref:n},p),{},{components:t})):i.a.createElement(u,c({ref:n},p))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var l=t.length,a=new Array(l);a[0]=d;var c={};for(var o in n)hasOwnProperty.call(n,o)&&(c[o]=n[o]);c.originalType=e,c.mdxType="string"==typeof e?e:r,a[1]=c;for(var p=2;p<l;p++)a[p]=t[p];return i.a.createElement.apply(null,a)}return i.a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},92:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return a})),t.d(n,"metadata",(function(){return c})),t.d(n,"rightToc",(function(){return o})),t.d(n,"default",(function(){return g}));var r=t(3),i=t(7),l=(t(0),t(112)),a={id:"signal",title:"\u4fe1\u53f7"},c={unversionedId:"guide/signal",id:"guide/signal",isDocsHomePage:!1,title:"\u4fe1\u53f7",description:"lightning \u63d0\u4f9b\u4e86\u56db\u4e2asignal\uff0c\u4e3b\u8981\u662f\u5bf9Model\u7684\u589e\u5220\u6539\u64cd\u4f5c\u524d\u540e\u53d1\u51fa\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728pre\u7c7b\u7684signal\u54cd\u5e94\u4e2d\u505a\u4e00\u4e9b\u524d\u7f6e\u6821\u9a8c\u6027\u7684\u903b\u8f91\uff0c\u5f00post\u7c7b\u7684signal\u4e2d\u505a\u4e00\u4e9b\u8865\u5145\u7684\u903b\u8f91\u3002",source:"@site/docs/guide/signal.md",slug:"/guide/signal",permalink:"/lightning-doc/docs/guide/signal",editUrl:"https://gitee.com/gitmen/lightning-doc-src/blob/master/docs/guide/signal.md",version:"current",sidebar:"someSidebar",previous:{title:"\u4e91\u51fd\u6570",permalink:"/lightning-doc/docs/guide/function"},next:{title:"\u5f02\u5e38\u5904\u7406",permalink:"/lightning-doc/docs/guide/exception"}},o=[{value:"pre_lightning_create",id:"pre_lightning_create",children:[]},{value:"post_lightning_create",id:"post_lightning_create",children:[]},{value:"pre_lightning_delete",id:"pre_lightning_delete",children:[]},{value:"post_lightning_delete",id:"post_lightning_delete",children:[]},{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",children:[]}],p={rightToc:o};function g(e){var n=e.components,t=Object(i.a)(e,["components"]);return Object(l.b)("wrapper",Object(r.a)({},p,t,{components:n,mdxType:"MDXLayout"}),Object(l.b)("p",null,"lightning \u63d0\u4f9b\u4e86\u56db\u4e2asignal\uff0c\u4e3b\u8981\u662f\u5bf9Model\u7684\u589e\u5220\u6539\u64cd\u4f5c\u524d\u540e\u53d1\u51fa\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728",Object(l.b)("inlineCode",{parentName:"p"},"pre_*"),"\u7c7b\u7684signal\u54cd\u5e94\u4e2d\u505a\u4e00\u4e9b\u524d\u7f6e\u6821\u9a8c\u6027\u7684\u903b\u8f91\uff0c\u5f00",Object(l.b)("inlineCode",{parentName:"p"},"post_*"),"\u7c7b\u7684signal\u4e2d\u505a\u4e00\u4e9b\u8865\u5145\u7684\u903b\u8f91\u3002"),Object(l.b)("p",null,"\u8fd9\u51e0\u4e2asignal\u548c Django\u7684 ",Object(l.b)("inlineCode",{parentName:"p"},"pre_save"),"\u3001",Object(l.b)("inlineCode",{parentName:"p"},"post_save"),"\u3001",Object(l.b)("inlineCode",{parentName:"p"},"pre_delete"),"\u3001",Object(l.b)("inlineCode",{parentName:"p"},"pre_delete"),"\u7c7b\u4f3c\uff0c\u9700\u8981\u6839\u636e\u5f00\u53d1\u8005\u81ea\u5df1\u7684\u573a\u666f\u6765\u51b3\u5b9a\u4f7f\u7528\u54ea\u4e2asignal\uff0c\u5982\u679c\u662f\u60f3\u5bf9lightning\u7ba1\u7406\u540e\u53f0\u53calightning api\u5bf9\u6570\u636e\u7684\u589e\u5220\u6539\u8fdb\u884c\u6269\u5c55\uff0c\u53ef\u4ee5\u4f7f\u7528lightning\u7684signal\uff0c\u5982\u679c\u9762\u5411\u5176\u4ed6\u66f4\u591a\u7684\u64cd\u4f5c\u9014\u5f84\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528Django\u5185\u7f6e\u7684signal\u3002"),Object(l.b)("p",null,"signal\u4ee3\u7801\u5efa\u8bae\u5199\u5728\u5e94\u7528\u76ee\u5f55\u7684signals.py\u6587\u4ef6\u4e2d\u6216\u5176\u4ed6\u4f1a\u88ab\u81ea\u52a8\u52a0\u8f7d\u7684\u6e90\u7801\u6587\u4ef6\u4e2d\u5982admin.py, mode.py\u3002"),Object(l.b)("p",null,"\u793a\u4f8b\uff1a"),Object(l.b)("pre",null,Object(l.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python"}),"\nfrom lightning.signals import pre_lightning_create, pre_lightning_delete\nfrom django.dispatch import receiver\nfrom lightning_crm.models import Customer\n\n@receiver(pre_lightning_create, sender=Customer)\ndef check_before_create(sender, instance, create, **kwargs):\n print('do something before save Customer object')\n\n@receiver(pre_lightning_delete, sender=Customer)\ndef check_before_delete(sender, instance, **kwargs):\n print('do something before delete Customer object')\n\n")),Object(l.b)("h2",{id:"pre_lightning_create"},"pre_lightning_create"),Object(l.b)("p",null,"model\u5b9e\u4f8b\u4fdd\u5b58\u524d\u53d1\u51fa\u8be5signal\uff0c\u5904\u7406\u51fd\u6570\u9700\u8981\u63a5\u53d7\u4ee5\u4e0b\u53c2\u6570\uff1a"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"sender, \u4fe1\u53f7\u53d1\u9001\u8005\uff0c\u5373Model"),Object(l.b)("li",{parentName:"ul"},"instance, \u5f85\u4fdd\u5b58\u7684\u6570\u636e\uff0c\u683c\u5f0f\u4e3adict\uff0c\u5916\u952e\u53ca\u591a\u5bf9\u591a\u7684\u5c5e\u6027\u5df1\u9884\u52a0\u8f7d\u4e3adjango\u6570\u636e\u5bf9\u8c61\u3002\u8be5\u6570\u636e\u4ec5\u7528\u4e8e\u8fdb\u4e00\u6b65\u6821\u9a8c\uff0c\u4e0d\u80fd\u505a\u4fee\u6539\uff0c\u4ee5\u514d\u9020\u6210\u672a\u77e5\u95ee\u984c\u3002"),Object(l.b)("li",{parentName:"ul"},"create, \u662f\u5426\u521b\u5efa\u64cd\u4f5c\uff0cFalse\u65f6\u4e3a\u66f4\u65b0\u64cd\u4f5c\u3002"),Object(l.b)("li",{parentName:"ul"},"request, \u5f53\u524d\u7684Django\u8bf7\u6c42"),Object(l.b)("li",{parentName:"ul"},"old_instance, \u5f53create\u4e3aFalse\uff0c\u5373\u66f4\u65b0\u65f6\uff0c\u4f1a\u63d0\u4f9b\u65e7\u5bf9\u8c61")),Object(l.b)("h2",{id:"post_lightning_create"},"post_lightning_create"),Object(l.b)("p",null,"model\u5b9e\u4f8b\u4fdd\u5b58\u540e\u53d1\u51fa\u8be5signal\uff0c\u5904\u7406\u51fd\u6570\u9700\u8981\u63a5\u53d7\u4ee5\u4e0b\u53c2\u6570\uff1a"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"sender, \u4fe1\u53f7\u53d1\u9001\u8005\uff0c\u5373Model"),Object(l.b)("li",{parentName:"ul"},"instance\uff0c\u5df2\u4fdd\u5b58\u7684Model\u5b9e\u4f8b\uff0c\u6b64\u65f6\u53ef\u4ee5\u5bf9\u8be5\u5b9e\u4f8b\u8fdb\u884c\u4e8c\u6b21\u64cd\u4f5c\u53ca\u4fdd\u5b58\u7b49\u3002\u5982\u679c\u4f7f\u7528django\u7684 ",Object(l.b)("inlineCode",{parentName:"li"},"post_save"),",\u5728\u5904\u7406\u51fd\u6570\u4e2d\u4f5c\u4e8c\u6b21\u4fdd\u5b58\uff0c\u4f1a\u5bfc\u81f4\u65e0\u9650\u5faa\u73af\uff0c\u4f7f\u7528lightning\u7684signal\u5219\u6ca1\u6709\u95ee\u984c\u3002"),Object(l.b)("li",{parentName:"ul"},"create, \u662f\u5426\u521b\u5efa\u64cd\u4f5c\uff0cFalse\u65f6\u4e3a\u66f4\u65b0\u64cd\u4f5c\u3002"),Object(l.b)("li",{parentName:"ul"},"request, \u5f53\u524d\u7684Django\u8bf7\u6c42\u3002"),Object(l.b)("li",{parentName:"ul"},"old_instance, \u5f53create\u4e3aFalse\uff0c\u5373\u66f4\u65b0\u65f6\uff0c\u4f1a\u63d0\u4f9b\u65e7\u5bf9\u8c61")),Object(l.b)("p",null,"\u8bf7\u6ce8\u610f\uff0c\u5982\u679c\u5904\u7406\u51fd\u6570\u53d1\u751f\u4e86\u5f02\u5e38\u6ca1\u6709\u6355\u6349\uff0c\u4f1a\u5bfc\u81f4\u5f53\u524d\u6570\u636e\u5e93\u7684\u64cd\u4f5c\u56de\u6eda\uff0c\u6240\u4ee5\uff0c\u8bf7\u5f00\u53d1\u8005\u6839\u636e\u81ea\u5df1\u7684\u4f7f\u7528\u573a\u666f\u51b3\u5b9a\u662f\u5426\u9700\u8981\u8fdb\u884c\u5f02\u5e38\u6355\u6349\u3002"),Object(l.b)("h2",{id:"pre_lightning_delete"},"pre_lightning_delete"),Object(l.b)("p",null,"model\u5b9e\u4f8b\u88ab\u5220\u9664\u524d\u53d1\u51fa\u8be5\u4fe1\u53f7\uff0c\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u53ef\u8fdb\u884c\u524d\u7f6e\u6821\u9a8c\u6216\u963b\u6b62\u5220\u9664\uff08\u629b\u51fa\u5f02\u5e38\u5373\u53ef\uff09\uff0c\u51fd\u6570\u63a5\u53d7\u4ee5\u4e0b\u53c2\u6570\uff1a"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"sender, \u4fe1\u53f7\u53d1\u9001\u8005\uff0c\u5373Model"),Object(l.b)("li",{parentName:"ul"},"instance, \u5c06\u8981\u88ab\u5220\u9664\u7684model\u5b9e\u4f8b\u526f\u672c\uff0c\u4ec5\u4f9b\u524d\u7aef\u6821\u9a8c\u7528\uff0c\u4e0d\u8981\u5bf9\u8be5instace\u505a\u4fdd\u5b58\u6216\u4fee\u6539\u64cd\u4f5c\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u6570\u636e\u91cd\u590d\u6216\u5176\u4ed6\u672a\u77e5\u9519\u8bef\u3002"),Object(l.b)("li",{parentName:"ul"},"request, \u5f53\u524d\u7684Django\u8bf7\u6c42\u3002")),Object(l.b)("h2",{id:"post_lightning_delete"},"post_lightning_delete"),Object(l.b)("p",null,"model\u5b9e\u4f8b\u88ab\u5220\u9664\u540e\u53d1\u51fa\u8be5\u4fe1\u53f7\uff0c\u4fe1\u53f7\u5904\u7406\u51fd\u6570\u53ef\u8fdb\u884c\u540e\u7eed\u7684\u6e05\u7406\u5de5\u4f5c\uff0c\u51fd\u6570\u63a5\u53d7\u4ee5\u4e0b\u53c2\u6570\uff1a"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"sender, \u4fe1\u53f7\u53d1\u9001\u8005\uff0c\u5373Model"),Object(l.b)("li",{parentName:"ul"},"instance, \u5df2\u88ab\u5220\u9664\u7684model\u5b9e\u4f8b\u526f\u672c\uff0c\u4ec5\u4f9b\u524d\u7aef\u6821\u9a8c\u7528\uff0c\u4e0d\u8981\u5bf9\u8be5instace\u505a\u4fdd\u5b58\u6216\u4fee\u6539\u64cd\u4f5c\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u6570\u636e\u91cd\u590d\u6216\u5176\u4ed6\u672a\u77e5\u9519\u8bef\u3002"),Object(l.b)("li",{parentName:"ul"},"request, \u5f53\u524d\u7684Django\u8bf7\u6c42\u3002")),Object(l.b)("h2",{id:"\u6ce8\u610f\u4e8b\u9879"},"\u6ce8\u610f\u4e8b\u9879"),Object(l.b)("ol",null,Object(l.b)("li",{parentName:"ol"},"\u4ee5\u4e0asiangl\u5747\u5728\u5355\u6761\u6570\u636e\u7684\u589e\u5220\u6539\u64cd\u4f5c\u65f6\u6709\u6548\uff0c\u6279\u91cf\u64cd\u4f5c\u65f6\u4e0d\u4f1a\u89e6\u53d1\u3002"),Object(l.b)("li",{parentName:"ol"},"\u8bf7\u6ce8\u610f\uff0c\u5982\u679c\u5904\u7406\u51fd\u6570\u53d1\u751f\u4e86\u5f02\u5e38\u6ca1\u6709\u6355\u6349\uff0c\u4f1a\u5bfc\u81f4\u5f53\u524d\u6570\u636e\u5e93\u7684\u64cd\u4f5c\u56de\u6eda\uff0c\u6240\u4ee5\uff0c\u8bf7\u5f00\u53d1\u8005\u6839\u636e\u81ea\u5df1\u7684\u4f7f\u7528\u573a\u666f\u51b3\u5b9a\u662f\u5426\u9700\u8981\u8fdb\u884c\u5f02\u5e38\u6355\u6349\u3002")))}g.isMDXComponent=!0}}]);