Was ist der Unterschied zwischen einem vererbten Modell mit mehreren Tabellen und einer einfachen Eins-zu-Eins-Beziehung zwischen denselben beiden Modellen?

Was ist der Unterschied zwischen diesen Implementierungen? Was macht Django anders (neben der Vererbung von Metaordering undget_latest_by Attribut)?

1.
# models.py
from django.db import models

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

class Restaurant(models.Model):
    place = models.OneToOneField(Place)
    serves_pizza = models.BooleanField()
2.
class Place(models.Model):
    name = models.CharField(max_length=50)

class Restaurant(Place):
    serves_pizza = models.BooleanField()
3.
class Place(models.Model):
    name = models.CharField(max_length=50)

class Restaurant(Place):
    place = models.OneToOneField(Place, parent_link=True)
    serves_pizza = models.BooleanField()

Antworten auf die Frage(2)

Ihre Antwort auf die Frage