Не уверен, что правильно сформулировал вопрос, только начал изучать django.
Вкратце, у меня есть 3 таблицы(модели):
1. таблица "группы компаний"
2. таблица "компании", которая связана через внешний ключ с таблицей "группы компаний". То есть, в группы компаний входят какие-то компании.
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 = 'Заказы' # множественное число
То есть, на 4 скрине должен быть выбор только из компаний номер 1 и 2, так как они входят в первую группу компаний.
Буду благодарен за любую помощь!
Спасибо за внимание.