2015-10-04 8 views
7

मैं इस तरह तर्क पारित करने में सक्षम होना चाहता हूँ:!दर्रा, =, ~, <, > के रूप में मानकों

fn(a>=b) or fn(a!=b) 

मैं DjangoORM और SQLAlchemy में इस व्यवहार को देखा था, लेकिन मैं इसे कैसे प्राप्त करने के लिए पता नहीं है ।

+3

यह काफी नहीं है कि आप क्या पूछ रहे हैं, लेकिन सामान्य मामले में आप उदा। 'operator.ne' ('! = ') और' operator.gt' के लिए ('' '' के लिए) – jonrsharpe

उत्तर

8

ओआरएम ऑपरेटरों में हुक करने और उत्पादित करने के लिए अनुकूलित करने के लिए a और b के लिए कक्षाओं पर special methods का उपयोग करें।

>=object.__ge__() method द्वारा संभाला जाता है, जबकि !=object.__ne__() पर कॉल करता है।

आमतौर पर, ORM a के लिए इस्तेमाल किया वस्तु आपरेशन के साथ एक नई वस्तु लागू किया, श्रृंखला संचालन करने के लिए आप की अनुमति देता है, और fn() समारोह इस तरह के एक ORM वस्तु की उम्मीद है और वहाँ से आपरेशन स्थिति पढ़ा जाएगा देता है।

संबंधित मुद्दे

 संबंधित मुद्दे