Я работаю с SQLAlchemy впервые и мне было интересно ... Вообще говоря, достаточно ли полагаться на семантику равенства Python по умолчанию при работе с равенством SQLAlchemy против идентификатора (первичного ключа)?
ВВ других проектах, над которыми я работал в прошлом с использованием технологий ORM, таких как Java Hibernate, мы всегда переопределяли .equals () для проверки на равенство первичного ключа / идентификатора объекта, но когда я оглядываюсь назад, я не уверен, что это быловсегда необходимо.
В большинстве, если не во всех случаях, о которых я могу думать, у вас когда-либо была только одна ссылка на данный объект с заданным идентификатором.И этот объект всегда был присоединенным объектом, так что технически вы могли бы избежать неприятностей с равенством ссылок.
Короткий вопрос: должен ли я переопределять eq () и hash () для моих бизнес-сущностей при использовании SQLAlchemy?