Fixed -- Fixed diamond inheritence example in docs.
@@ -1346,15 +1346,20 @@ use an explicit :class:`~django.db.models.AutoField` in the base models::
class BookReview(Book, Article):
pass
-Or use a common ancestor to hold the :class:`~django.db.models.AutoField`::
+Or use a common ancestor to hold the :class:`~django.db.models.AutoField`. This
+requires using an explicit :class:`~django.db.models.OneToOneField` from each
+parent model to the common ancestor to avoid a clash between the fields that
+are automatically generated and inherited by the child::
class Piece(models.Model):
pass
class Article(Piece):
+ article_piece = models.OneToOneField(Piece, on_delete=models.CASCADE, parent_link=True)
...
class Book(Piece):
+ book_piece = models.OneToOneField(Piece, on_delete=models.CASCADE, parent_link=True)
...
class BookReview(Book, Article):
