diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt index 2c8a47852f..396be4088f 100644 --- a/docs/topics/db/models.txt +++ b/docs/topics/db/models.txt @@ -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):