Как создать выпадающий список в django динамически, я перепробовал все способы, но у меня не получается, буквально каждый способ проходит из представлений и из моделей

views.py

@user_passes_test(is_manager)

def fetch_set(request, book_id):
    set_list = []
    clicked_book = Book.objects.get(pk=book_id)
    url = clicked_book.url.split("/")[4].split(".")[0]
    try:
      repo = requests.get("https://api.github.com/repos/{}/{}/branches".format(github_user, url), headers = headers, proxies=proxy)
      repo = json.loads(repo.text)
      for branch in repo:
        set_list.append(branch['name'])
    except Exception as e:
       messages.error(request, e)

context = {
    'set': SetCreationForm(initial={'repo_name':url, 'acronym': set_list  , \
        'book':clicked_book}),
    'list': set_list,
    'sets': Set.objects.filter(pk=book_id),
    'id': book_id,
}
if request.method == 'POST':
    form_1 = SetCreationForm(request.POST)
    context = {'set': form_1, 'id': book_id}
    try:
        if form_1.is_valid():
            form_1.save()
            messages.success(request, 'Set is fetched.')
            return redirect('booksNsets:sets-page')
    except Exception as e:
        # messages.WARNING(request, e)
        form_1.add_error(None, e)
        return render(request, 'booksNsets/fetch_repo.html', context)
    
return render(request, 'booksNsets/fetch_repo.html', context)

models.py

forms.py

class SetCreationForm(forms.ModelForm):
    class Meta():
        model = Set
        fields = ('book', 'repo_name','acronym',
              'start_page', 'end_page', 'notes')
        BRANCH_CHOICES = [tuple([x,x]) for x in 'acronym'] 

        widgets = {'notes': forms.Textarea(attrs={
        'rows': 6, 'cols': 35,
        'style': 'resize:none;'})
        } 

    acronym = forms.ChoiceField(widget = forms.ChoiceField(attrs={
        'acronym': BRANCH_CHOICES}))


def clean(self):
    cleaned_data = self.cleaned_data

    # check for repo existance
    try:
        repo = g.get_repo(f"{github_user}/{cleaned_data['repo_name']}")
    except:
        raise ValidationError('Repository does not exists.')

    return cleaned_data

Здесь есть views.py, models.py, forms.py и я попробовал все возможности и понял как это работает, но я получаю ту или иную ошибку, пожалуйста, помогите мне с кодом и дайте точно какой код я должен изменить и написать его, потому что я пробовал все способы, но я не получаю .

Я хочу, чтобы тег акронима был в выпадающем списке

Посмотрите это

Я получаю это в списке, но я хочу, чтобы это было в выпадающем списке

PIC:- СМОТРИТЕ ЭТОТ ВЫВОД

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