Создание выпадающего списка на основе значения IntegerField django

Я хочу отобразить поле Nombre_des_Emplacments IntegerField в модели Rayons как выпадающее меню в модели References ниже, например, введенное число 44, я хочу, чтобы выпадающее меню показывало числа от 1 до 44 в качестве вариантов для выбора, и после того, как число выбрано и сохранено после добавления References, оно должно быть удалено из вариантов и не появляться снова при добавлении нового Reference, Exp: если в следующий раз будет выбрано 20, то в выпадающем меню будут показаны все числа от 1 до 44, кроме 20

чтобы вы знали, Nombre_des_Emplacments IntegerField также должно зависеть от Rayons.Nom из той же модели, которая также будет выпадающим меню

При добавлении ссылки и дойдя до поля Emplacment, я выбираю Rayon и в зависимости от того, что я выбрал, во втором выпадающем меню будут показаны номера корреляции с этим Rayons

вот код:

models:py

class Rayons(models.Model):
    Nom = models.CharField(max_length=100, blank=False, null=True)
    Nombre_des_Emplacments = models.IntegerField()

    def __str__(self):
        return self.Nom


class References(models.Model):
    Ref = models.CharField(max_length=255, blank=False, null=True)
    Designation = models.CharField(max_length=100, blank=False, null=True)
    Indice = models.CharField(max_length=100, blank=False, null=True)
    Emplacment = models.ForeignKey(Rayons, blank=False, null=True, on_delete=models.CASCADE)
    Client = models.ForeignKey(Client, blank=False, null=True, on_delete=models.CASCADE)
    Statut = models.BooleanField(default=True)

    def __str__(self):
        return self.Ref

forms.py

class RayonsCreateform(forms.ModelForm):
    class Meta:
        model = Rayons
        fields = ['Nom', 'Nombre_des_Emplacments']


    def clean_Nom(self):

        Nom = self.cleaned_data.get('Nom')
        if not Nom:
            raise forms.ValidationError('Ce champs est obligatoire')
        for instance in Rayons.objects.all():
            if instance.Nom == Nom:
                raise forms.ValidationError(str(Nom) + ' existe déja dans la liste ')
        return Nom

views.py

def Ajouter_Rayons(request):
    form = RayonsCreateform(request.POST or None)
    if form.is_valid():
        form.save()
        messages.success(request, 'Ajouté avec succès')
        return redirect('/list_rayons')
    context = {
        "form": form,
        "title": "Ajouter des Rayons",
    }
    return render(request, "Ajouter_Rayons.html", context)

def list_rayons(request):
    header = 'Liste des rayons'
    queryset = Rayons.objects.all()
    form = RayonsSearchForm(request.POST or None)
    context = {
        "header": header,
        "queryset": queryset,
        "form": form,
    }
    if request.method == 'POST':
        queryset = Rayons.objects.filter(Nom__icontains=form['Nom'].value(),
    )
    context = {
        "form": form,
        "header": header,
        "queryset": queryset,
    }
    return render(request, "list_rayons.html", context)

HTML код добавления страницы ссылок list_references.html

<main role="main" class="container">
  <div class="jumbotron">
    <h1>{{ title }}</h1>
  <form method='POST' action=''>{% csrf_token %}
        {{form|crispy}}
        <input type="submit" value='Save'/>
    </form>
  </div>

</main>
Вернуться на верх