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 %}
`
edit: что, черт возьми, не так с вопросом, состоящим в основном из кода? Он не позволяет мне отправить без этого текста