Разница в дизайне модели Django: связать несколько простых моделей

#python #python-3.x #django #web #django-models

Вопрос:

Я разрабатываю модели Django и хотел бы получить некоторые отзывы о различиях между различными схемами проектирования. Кроме того, в настоящее время я работаю только с администратором Django, поэтому мое замешательство может исходить оттуда.

Предположим, у меня есть модельная индустрия, которая имеет несколько местоположений.

Банковское дело -gt; СШАgt;
Банковское дело -gt; Великобританияgt;
Банковское дело -gt; Японияgt;

Кроме того, у меня есть другая модель, в которой отрасль и местоположение выбираются пользователем (на веб-сайте). Итак, если выбрано банковское обслуживание, я хочу показывать только те места, которые доступны для банковского обслуживания. Вот базовый дизайн, который я уже реализовал (для демонстрационных целей):

 class Industry(models.Model):  """ Model representing industries. """  id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text='Unique ID for this industry and location')  name = models.CharField(blank=False,null=True,max_length=100,verbose_name="Industry")  location = models.CharField(blank=False,null=True,max_length=100,verbose_name="Location")   def __str__(self):  field_values = get_val(self) #this functions works  return ' '.join(field_values)   class Meta:  db_table = 'Industry'   class Select(models.Model):  """ Model Select """  id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text='Unique ID Select')  industry = models.ForeignKey('Industry',on_delete=models.SET_NULL,related_name=' ',blank=False,null=True,max_length=100,verbose_name="Industry")  location = models.CharField(blank=False,null=True,max_length=100,verbose_name="Location")   def __str__(self):  field_values = get_val(self)  return ' '.join(field_values)   class Meta:  db_table = 'Select'  

Как суперадмин, давайте предположим, что в отраслевой модели я создаю Банковское дело-gt;США, Банковское дело-gt;gt;Великобритания и в gt;gt;Выберите модель, которую я хочу выбрать для банковского дела, и для местоположения, которое я хочу выбрать из доступных мест для банковского дела.

Как я должен изменить каждую из этих моделей и достичь того, что я пытаюсь сделать?