id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 30333,__hash__ is not inherited from model.Model if __eq__ is defined,Adam Janik,Carlton Gibson,"In my model, that inherits directly from `models.Model`, I defined my own `__eq__`: {{{ class Meta: ordering = ('pk', ) def __eq__(self, other): return self.as_data() == other.as_data() }}} What was strange, when updating to `2.2`, classes like above (and instances) do not have `__hash__` defined anymore. {{{ >>> from myapp.account.models import Address >>> Address.__hash__ is None True >>> import django >>> django.VERSION (2, 2, 0, 'final', 0) }}} while it was certainly present in `2.1` {{{ >>> from myapp.account.models import Address >>> Address.__hash__ >>> import django >>> django.VERSION (2, 1, 8, 'final', 0) }}} I am not sure if it is intended, as I did not find (or maybe missed) mentions about it in 2.2 release notes.",Bug,closed,"Database layer (models, ORM)",2.2,Normal,duplicate,,Sergey Fedoseev,Accepted,0,0,0,0,0,0