के लिए __hash__ मैं ओवरराइड करने के लिए __cmp__
, __eq__
, और __hash__
तो मैं एक SQLAlchemy घोषणात्मक बेस मॉडल पर सेट कार्य कर सकते हैं चाहता हूँ। क्या यह घोषणात्मक आधार कार्यान्वयन के साथ कोई विवाद पैदा करेगा?अधिभावी __cmp__, __eq__, और SQLAlchemy घोषणात्मक बेस
उत्तर
संख्या। यह ठीक काम करेगा।
शायद तुलनात्मक कार्यान्वयन कार्यान्वयन के आधार पर।
आप जब other
वस्तु के साथ तुलना करने के लिए __eq__
या __cmp__
का उपयोग कर, क्योंकि SQLAlchemy ऐसे NEVER_SET
के रूप में कुछ प्रतीक हैं, जो एक ही प्रकार की जरूरत नहीं है के साथ अपने वस्तु की तुलना कर सकते हैं सावधान रहना होगा।
def get_all_pending(self, state, dict_):
if self.key in dict_:
current = dict_[self.key]
if current is not None:
ret = [(instance_state(current), current)]
else:
ret = [(None, None)]
if self.key in state.committed_state:
original = state.committed_state[self.key]
if original not in (NEVER_SET, PASSIVE_NO_RESULT, None) and \
original is not current:
ret.append((instance_state(original), original))
return ret
else:
return []
original not in (NEVER_SET, PASSIVE_NO_RESULT, None)
लाइन है कि तुलना में किया जाता है क्षेत्रों के अस्तित्व के लिए करता है, तो तुलना पहले प्रकार की समानता की जांच नहीं करता एक त्रुटि उठाना, या हो सकता है: इस SQLAlchemy विधि पर एक नजर डालें
एक समाधान के रूप में, आपको अलग-अलग प्रकार को खाते में लेना चाहिए।
__cmp__
ओवरराइड करने से बचें और rich comparison operators instead का उपयोग करें।
अच्छा पकड़ो! यह महत्वपूर्ण है। –
- 1. sqlalchemy: घोषणात्मक
- 2. घोषणात्मक कक्षाओं के SQLAlchemy आत्मनिरीक्षण
- 3. घोषणात्मक SQLAlchemy में टैग का शब्दकोश?
- 4. SQLAlchemy घोषणात्मक एक-से-कई परिभाषित त्रुटि
- 5. घोषणात्मक शैली के स्टार्टर प्रश्न SQLAlchemy संबंध()
- 6. SQLAlchemy: घोषणात्मक शैली वर्ग परिभाषा में पुनरावृत्ति से बचने
- 7. मैं sqlalchemy घोषणात्मक में विशेषता डिफ़ॉल्ट मान कैसे सेट करूं?
- 8. मौजूदा MySQL डेटाबेस से रिवर्स इंजीनियर SQLAlchemy घोषणात्मक श्रेणी परिभाषा?
- 9. दो SQLAlchemy घोषणात्मक मॉडल एक ही declarative_base() साझा करना चाहिए?
- 10. SQLAlchemy घोषणात्मक: बिना किसी प्राथमिक कुंजी के टेबल?
- 11. एसक्यूएलकेमी घोषणात्मक
- 12. जावा ओवरलोडिंग और अधिभावी
- 13. घोषणात्मक प्रमाणीकरण और if_attribute
- 14. अजगर 2 और अजगर 3 __cmp__
- 15. एसक्लाक्लेमी घोषणात्मक विस्तार बनाम elixir
- 16. वर्चुअल अधिभावी और छुपा कार्यों
- 17. स्टेटिक तरीकों और उनके अधिभावी
- 18. SQLAlchemy
- 19. SQLAlchemy विरासत
- 20. SQLAlchemy
- 21. अधिभावी Backbone.Collection.prototype.add
- 22. अधिभावी UIPickerView
- 23. घोषणात्मक जीटीके
- 24. स्क्लेक्लेमी घोषणात्मक: ट्रिगर्स और इंडेक्स को परिभाषित करना (पोस्टग्रेस 9)
- 25. अधिभावी गैर आभासी तरीकों
- 26. पायथन: 'सूची में ऑब्जेक्ट' चेक और '__cmp__' ओवरफ़्लो
- 27. SQLAlchemy और UnicodeDecodeError
- 28. SQLAlchemy और बहु
- 29. django और sqlalchemy
- 30. SQLAlchemy और खाली कॉलम
बहुत बहुत धन्यवाद :) – mauzepeda
क्या आप किसी भी एसक्यूएलकेमी दस्तावेज का हवाला देते हैं जो बताता है कि यह ठीक रहेगा? – DuneBug
@DuneBug मैं नहीं देख सकता कि यह एक समस्या क्यों होगी। स्क्लेल्चेमी स्वयं घोषणात्मक आधार के लिए उन विशेष तरीकों को ओवरराइड नहीं करता है। – nosklo