我第一次使用SQLAlchemy,并且想知道...通常来说,在使用SQLAlchemy与ID(主键)相等性时,仅依靠python的默认相等性语义就足够了吗?
在我过去使用Java的Hibernate等ORM技术进行过的其他项目中,我们总是会覆盖.equals()来检查对象的主键/id是否相等,但是当我回头看时,我不确定总是必要的。
在大多数(即使不是全部)情况下,您只能对具有给定id的给定对象进行一次引用。而且该对象始终是附加对象,因此从技术上讲,您可以摆脱引用相等性的困扰。
简短的问题:使用SQLAlchemy时,是否应该为我的业务实体覆盖 eq ()和哈希()?
最佳答案
简短的回答:否,除非您正在使用多个Session对象。
更长的答案,引用了真棒documentation:
关于python - sqlalchemy id相等vs引用相等,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8179068/