Если я правильно понял вопрос, вы sh попросите пользователя ввести имя, а затем вы хотите найти соответствующие записи о персонах и вернуть их в шаблон
В этом случае вам не нужно сохранить как, поскольку это создает запись Person и может просто сделать это
def home(request):
if request.method == 'POST':
form = PersonForm(request.POST)
context = dict(form=form, name="", people="", obj=School.objects.get(id=1))
if form.is_valid():
context['people'] = Person.objects.filter(name=form.cleaned_data['name'])
return render(request, 'first/results.html', context)
else:
form = PersonForm()
return render(request, 'first/search.html', {'form': form})
Затем в шаблоне вы можете получить доступ к форме, используя {{ form }}
, который, передав ее обратно после публикации, вы можете отобразить любую форму ошибки. В этом примере вы можете использовать people
в шаблоне для доступа к набору запросов результатов поиска.
EG
{% for person in people %}
ID: {{ person.pk}}<br>
Name: {{person.name }}
{% if not forloop.last %}<br>{% endif %}
{% endfor %}
Я использую .filter, а не .get, так как вы этого не делаете имеют уникальное ограничение на модель Person, поэтому может быть несколько записей с одним именем