Подстановка в поле при внесении данных через админку, имея связь между несколькими таблицами?

Не уверен, что правильно сформулировал вопрос.

Суть вопроса: могу ли я при внесении выбрать какую-то конкретную компанию, а группа компаний, в которой находится компания автоматически подставится сама или же предоставит мне выбор в единственном числе нужной "группы компаний". А также, хотелось бы сделать и наоборот, сначала выбрать группу компаний, а потом у меня был бы выбор списка с тех компаний, которые входят в эту группу компаний?

Вкратце, у меня есть 3 таблицы(модели):
- таблица "группы компаний"
- таблица "компании", которая связана через внешний ключ с таблицей "группы компаний". То есть, в группы компаний входят какие-то компании.
- таблица "заказы". Я её еще не доделал, пока что 3 поля. "улица", "группы компаний" и "компании". Пока что заполняю данные только в админке.
   from django.db import models


   class group_of_companies(models.Model):
        name_group_companies = models.CharField(max_length=50, verbose_name='Название группы компаний')

        def __str__(self):
            return self.name_group_companies

        class Meta:
            verbose_name = 'Группы компаний'  # единственное число
            verbose_name_plural = 'Группы компаний'  # множественное число
            ordering = ['-name_group_companies']


   class companies(models.Model):
        company_name = models.CharField(max_length=50, verbose_name='Название компании')
        group = models.ForeignKey(group_of_companies, verbose_name='Название компании', on_delete=models.PROTECT)

        def __str__(self):
            return self.company_name

        class Meta:
            verbose_name = 'Компания'  # единственное число
            verbose_name_plural = 'Компании'  # множественное число


   class orders(models.Model):
        street = models.CharField(max_length=50, verbose_name='Улица')
        order_group = models.ForeignKey(group_of_companies, verbose_name='Группа компаний', on_delete=models.PROTECT)
        order_company = models.ForeignKey(companies, verbose_name='Компания', on_delete=models.PROTECT)

        def __str__(self):
            return self.street

        class Meta:
            verbose_name = 'Заказ'  # единственное число
            verbose_name_plural = 'Заказы'  # множественное число

  • Модель "Группы компаний"

  • Внесение данных в модель "Компании"

  • Модель "Компании"

  • Модель "


Ответы (0 шт):