Редактировать определенный реестр базы данных на основе ввода

#python #django #crud

#python #django #crud

Вопрос:

У меня уже есть некоторый код, полностью работающий для этой цели, но я хотел бы пойти дальше.

В моем фактическом коде перечислены все регистры базы данных, и давайте я их отредактирую, но чтобы перейти к тому, который я хочу, мне нужно просмотреть огромный список, который он отображает, это мой код:

 def computer_update_view(request, pk, template_name='computer/computer_form.html'):
    serial = get_object_or_404(Computer, pk=pk)
    form = ComputerForm(request.POST or None, instance=serial)

    context = {
        'form':form
    }
    if form.is_valid():
        form.save()
        return redirect('computer:pc_list')
    return render(request, template_name, context)
  
 {% extends "base.html" %}

{% block content %}

<h2 xmlns="http://www.w3.org/1999/html"><a href="{% url 'computer:pc_list' %}">Network Admin</a></h2>

<ul>
    <p> <button type="button"><a href="{% url 'computer:computer_new' %}">Add New</a></button></p>
    {% for serie in object %}
        <li>{{ serie.serial }}. {{ serie.name }} - ({{ serie.user_name }})
             <a href="{% url 'computer:computer_edit' serie.serial %}">edit / </a>
       </li>
    {% endfor %}
</ul>



{% endblock %}
  

Итак, что я хочу сделать, это разрешить пользователю вводить fox пример: пользователь вводит serial «212125» (обратите внимание, что serial — это поле pk в базе данных), а затем отображается только этот реестр для редактирования.

Как я мог это сделать?

Ответ №1:

В forms.py отредактируйте, какие поля отображаются в форме. Это можно сделать с помощью класса Meta

 class Meta:
    model = #model name
    fields = ["""field names go here that will be displayed"""]