Overriding __cmp__, __eq__, and __hash__ for SQLAlchemy Declarative Base
我想覆盖
可能,这取决于比较函数的实现。
在使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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 [] |
如果比较没有首先检查类型的相等性,或者比较中使用的字段的存在性,则
作为一种解决方案,您应该考虑不同的类型。
同时避免重写
不,会很好的。