Почему Django создает объект типа parent неявно при многостоловом наследовании?

#python #django

#python #django

Вопрос:

Я пытаюсь понять многостоловое наследование в django и использую примеры кода из официальных документов django:

 class Place(models.Model):
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=80)

class Restaurant(Place):
    serves_hot_dogs = models.BooleanField(default=False)
    serves_pizza = models.BooleanField(default=False)
  

При выполнении следующего в консоли python. кажется, что django создает объект Place неявно при создании объекта Restaurant:

 >>> Place.objects.all().count()
0

>>> Restaurant.objects.all().count()
0

>>> Restaurant.objects.create(serves_pizza=True)
<Restaurant: Restaurant object (1)>

>>> Place.objects.all().count()
1

>>> Restaurant.objects.all().count()
1

>>> Restaurant.objects.first() is Place.objects.first()
False
  

Может кто-нибудь, пожалуйста, объяснить, что происходит?

Комментарии:

1. Потому что это буквально то, что такое наследование нескольких таблиц.

2. Тогда спасибо Дэниелу Розману. у меня были другие мысли о многостоловом наследовании.