Django - Заполнение поля на основе выбора пользователя из выпадающего списка

Я хочу иметь следующее:
Пользователь выбирает идентификатор местоположения из выпадающего списка, а затем в следующем поле автоматически отображается описание местоположения (название_округа_посткод), связанное с этим идентификатором.

У меня установлены две модели:

class UkTowns(models.Model):
id = models.IntegerField(primary_key=True)
locationid = models.CharField(max_length=8, blank=True, null=True)
name_county_postcode = models.CharField(max_length=100, blank=True, null=True)

def __str__(self):
    return self.locationid


class Project(models.Model):
    projectid = models.IntegerField('ProjectID', db_column='ProjectID', primary_key=True)  
    locationid = models.ForeignKey(UkTowns, models.DO_NOTHING, verbose_name="LocationID", db_column='LocationID', max_length=50)  
    project_name = models.CharField('Project Name', db_column='Project_Name', max_length=300)  
    author = models.ForeignKey(settings.AUTH_USER_MODEL, models.DO_NOTHING, db_column='Author_id')

    def get_absolute_url(self):
        return reverse('project-detail', kwargs={'pk': self.pk})

Следующие мнения:

    class PostCreateView(LoginRequiredMixin, CreateView):
    model = Project
    fields = ['projectid','project_name','locationid']
    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)


class PostUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
    model = Project
    fields = ['projectid','project_name','locationid']
    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)

    def test_func(self):
        Project = self.get_object()
        if self.request.user == Project.author:
            return True
        return False

И следующая html-страница:

{% extends "costcapture/base.html" %} 
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
  <form method="POST">
    {% csrf_token %}
    <fieldset class="form-group">
      <legend class="border-bottom mb-4">Project</legend>
      {{ form|crispy }}
    </fieldset>
    <div class="form-group">
        <button class="btn btn-outline-info" type="submit">Submit</button>
    </div>
  </form>
{% endblock content %}

В настоящее время форма работает с полями из PostCreateView и PostUpdateView (она показывает больше, чем я включил сюда), она показывает выпадающий список всех locationid для выбора пользователем, но я не могу понять, как автоматически заполнить следующее поле с описанием этого id из UkTowns.

Любая помощь будет очень признательна!

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