Как ограничить дочернюю таблицу от ссылок на родительскую таблицу на основе определенного свойства в Django

Рассмотрим следующий пример:

class Car(models.Model):

        def __str__(self):
                return self.name

        name = models.CharField(max_length=255)

        type_choices = [
                ('Sedan','Sedan'),
                ('SUV','SUV'),
                ('Truck','Truck'),
        ]

        type = models.CharField('Type', max_length=255, choices=type_choices)

class Sedan(models.Model):
        models.ForeignKey(Car, on_delete=models.CASCADE)

class SUV(models.Model):
        models.ForeignKey(Car, on_delete=models.CASCADE)

class Truck(models.Model):
        models.ForeignKey(Car, on_delete=models.CASCADE)

Как я могу предотвратить ссылку записи модели Sedan на запись модели Car с типом, установленным как Truck, в контексте панели администратора? Есть ли лучший способ создать эту связь?

Вернуться на верх