Django model form instance update / как показать только ранее выбранные варианты и скрыть остальные

Мне нужно полностью скрыть только "select" при создании нового объекта и частично показать только ранее выбранный при "update" без javascript, если это возможно.

спасибо за любой совет

code in views.py

`

def topic_create(request):
    form = TopicForm()

    if request.method == 'POST':
        new_tags = request.POST.get('new_tags').replace(',', " ").split()
        form = TopicForm(request.POST, request.FILES)

        if form.is_valid():
            topic = form.save(commit=False)
            topic.save()

            for tag in new_tags:
                tag, created = Tag.objects.get_or_create(name=tag)
                topic.tags.add(tag)

            return redirect('topics')

    context = {'form': form}
    return render(request, 'blog_app/topic_form.html', context)


def topic_update(request, pk):
    topic = Topic.objects.get(id=pk)
    form = TopicForm(instance=topic)

    if request.method == 'POST':
        new_tags = request.POST.get('new_tags').replace(',', " ").split()
        form = TopicForm(request.POST, request.FILES, instance=topic)

        if form.is_valid():
            topic = form.save()
            for tag in new_tags:
                tag, created = Tag.objects.get_or_create(name=tag)
                topic.tags.add(tag)

            return redirect('topics')

    context = {'form': form}
    return render(request, 'blog_app/topic_form.html', context)

`

этот код в моем form.py

`

class TopicForm(ModelForm):
    class Meta:
        model = Topic
        fields = '__all__'
        widgets = {
            'tags': forms.CheckboxSelectMultiple(),
        }

`

и это шаблон

`

{% block content %}

<main class="formPage my-xl">
        <div class="content-box">
            <div class="formWrapper">

                <form class="form" method="POST" enctype="multipart/form-data">
                    {% csrf_token %}
                    {% for field in form %}
                    <div class="form__field">
                        <label for="formInput#text">{{field.label}}</label>
                        {{field}}
                    </div>
                    {% endfor %}

                    <div class="form__field">
                        <label>Add New</label>
                        <textarea name="new_tags" placeholder="Separate with space or comma"></textarea>
                    </div>


                    <input class="btn btn--sub btn--lg  my-md" type="submit" value="Submit" />
                </form>
            </div>
        </div>
    </main>

{% endblock %}

`

here is how create new looks like

here is how update looks like

edit: что, черт возьми, не так с вопросом, состоящим в основном из кода? Он не позволяет мне отправить без этого текста

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