1
0
mirror of https://github.com/django/django.git synced 2025-03-14 03:10:45 +00:00

[1.11.x] Fixed #28332 -- Fixed diamond inheritence example in docs.

Backport of 473ab4610ef90be05f09127aa37cd20bcda5875e from master
This commit is contained in:
Jeremy Satterfield 2017-08-17 13:06:29 -05:00 committed by Tim Graham
parent 07f73daf6b
commit e921e98387

View File

@ -1359,15 +1359,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):