summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/models/instances.txt34
-rw-r--r--docs/releases/1.7.txt5
2 files changed, 39 insertions, 0 deletions
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index cb8570afdc..94b1face81 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -494,6 +494,40 @@ using ``__str__()`` like this::
# first_name and last_name will be unicode strings.
return force_bytes('%s %s' % (self.first_name, self.last_name))
+``__eq__``
+----------
+
+.. method:: Model.__eq__()
+
+The equality method is defined such that instances with the same primary
+key value and the same concrete class are considered equal. The term
+concrete class means proxy model's first non-proxy parent or the class
+itself if it isn't a proxy class.
+
+For example::
+
+ form django.db import models
+
+ class MyModel(models.Model):
+ id = models.AutoField(primary_key=True)
+
+ class MyProxyModel(MyModel):
+ class Meta:
+ proxy = True
+
+ class MultitableInherited(MyModel):
+ pass
+
+ MyModel(id=1) == MyModel(id=1)
+ MyModel(id=1) == MyProxyModel(id=1)
+ MyModel(id=1) != MultitableInherited(id=1)
+ MyModel(id=1) != MyModel(id=2)
+
+.. versionchanged:: 1.7
+
+ In previous versions only instances of the exact same class and same
+ primary key value were considered equal.
+
``get_absolute_url``
--------------------
diff --git a/docs/releases/1.7.txt b/docs/releases/1.7.txt
index 7a46b3facb..774d9d3161 100644
--- a/docs/releases/1.7.txt
+++ b/docs/releases/1.7.txt
@@ -194,6 +194,11 @@ Miscellaneous
removes the ability for visitors to generate spurious HTTP 500 errors by
requesting static files that don't exist or haven't been collected yet.
+* The :meth:`django.db.models.Model.__eq__` method is now defined in a
+ way where instances of a proxy model and its base model are considered
+ equal when primary keys match. Previously only instances of exact same
+ class were considered equal on primary key match.
+
Features deprecated in 1.7
==========================