Вывод только нужных полей в списке админки Django

LuckyNOOB

Green Team
28.03.2018
50
3
Добрый день, делаю достаточно большой сайт и у меня появился вопрос, как сделать чтобы при добавлении (в нашем случае) кузова автомобиля, выдавались лишь те модели, которые соответствуют марке Honda
1612611459598.png

На скрине видно, что выдаются также модели от BMW

Ниже содержимое models.py
Python:
class Car(models.Model):
    name = models.CharField('Наименование', max_length=48)
    show_point = models.BooleanField('Отображать', default=True)
    pic = models.CharField("Изображение", max_length=256)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = 'Автомобиль'
        verbose_name_plural = 'Автомобили'


class Model(models.Model):
    model = models.ForeignKey(Car, verbose_name="Наименование", on_delete=models.CASCADE)
    model_name = models.CharField('Модель', max_length=150)
    show_point = models.BooleanField('Отображать', default=True)
    pic = models.CharField("Изображение", max_length=256)

    def __str__(self):
        return self.model_name

    class Meta:
        verbose_name = 'Модель'
        verbose_name_plural = 'Модели'


class Body(models.Model):
    model = models.ForeignKey(Car, verbose_name="Наименование", on_delete=models.CASCADE)
    model_name = models.ForeignKey(Model, verbose_name="Модель", on_delete=models.CASCADE)
    body_name = models.CharField("Кузов", max_length=150)
    show_point = models.BooleanField('Отображать', default=True)
    pic = models.CharField("Изображение", max_length=256)

    def __str__(self):
        return self.body_name

    class Meta:
        verbose_name = 'Кузов'
        verbose_name_plural = 'Кузова'


class Detail(models.Model):
    model = models.ForeignKey(Car, verbose_name="Наименование", on_delete=models.CASCADE)
    model_name = models.ForeignKey(Model, verbose_name="Модель", on_delete=models.CASCADE)
    body = models.ManyToManyField(Body, verbose_name="Кузов")
    detail_name = models.CharField("Наименование товара", max_length=256)
    vendor_code = models.IntegerField("Артикул", default=0, unique=True)
    pic = models.CharField("Изображение", max_length=256)
    cout = models.PositiveIntegerField("Количество", default=0)
    price = models.PositiveIntegerField("Цена", default=0)

    def __str__(self):
        return self.detail_name

    class Meta:
        verbose_name = 'Деталь'
        verbose_name_plural = 'Детали'
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab