Django редактировать несколько идентификаторов одновременно с установкой флажка - PullRequest
0 голосов
/ 24 мая 2018

У меня есть пункты, где я могу легко редактировать один за другим, все работает хорошо, но в случае, если я хочу редактировать несколько идентификаторов одновременно, установив флажок, я застрял и не могу заставить его работать.Где я делаю неправильно?

Вот мои коды:

fast_edit.html -> Я передаю переменные через экземпляр в поле.

<div class="row">
  <div class="col-sm-12">
    <div class="panel panel-default">
      <div class="panel-body">
        <form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
        {%csrf_token%}
        {%for field in instance %}
        <table class="table">
          <tbody>
            <tr>
              <td width="100">
                {{field.label_tag}}
              </td>
              <td>
                {{field}}
              </td>
            </tr>
          </tbody>
        </table>
        {% endfor %}
        <div class="form-group">
          <div class="col-sm-offset-6 col-sm6">
            <button type="submit" class="btn btn-primary">Update FP Item</button>
          </div>
        </form>
      </div>
    </div>
  </div>
</div>

forms.py

class FastFPForm(forms.ModelForm):

    class Meta:
        model = FP
        fields = ['FP_Item', 'P_1', 'P_2']
        widgets = {
            'FP_Item': Textarea(attrs={'cols': 50, 'rows': 3}),
            'P_1': Textarea(attrs={'cols': 50, 'rows': 1}),
            'P_2': Textarea(attrs={'cols': 50, 'rows': 1}),

        }

view.py -> Я посылаю переменные в функцию fast_edit

def items_home(request):
        pfast_type = request.GET.get("pfast_type")
        item = request.GET.get("fastedit")
        ........
        elif pfast_type and item:
            return fast_edit(pfast_type,item)

Вот моя функция:

def fast_edit(request,id=None):
    if not request.user.is_active:
        return render(request, 'login.html')
    else:
        instance=get_object_or_404(FP,id=item)
        form = FastFPForm(request.POST or None,instance=instance)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.user_id = request.user.id
            instance.save()
            return HttpResponseRedirect(instance.get_absolute_url())
        context={
        'FP' : FP.FP_Item,
        'instance': instance,
            'form': form
    }
        return render(request, 'fast_edit.html', context)

Это мои входные данные для fasteditи pfast_type для получения идентификаторов и типа.

<input type="checkbox" id="P_1" name="pfast_type" value="P_1"/>
<input type="checkbox" id="{{ obj.id }}" name="fastedit" value="{{ obj.id }}"/>

Я знаю, что моя функция неверна, но я не мог исправить ее в соответствии со своими потребностями, поэтому я хочу сделать, если проверен P_1,Я хочу, чтобы все выбранные элементы были редактируемыми для поля P_1, если я снова выберу P_2, все выбранные элементы будут редактироваться, чтобы я мог сохранить их на странице fast_edit.

Моя логика неверна?Есть ли какой-либо другой более простой способ для редактирования нескольких идентификаторов сразу, выбрав с помощью флажка, или если я на правильном пути, можете ли вы дать мне подсказку, чтобы решить эту проблему.Спасибо

Я добавил, но не думаю, что мне нужен правильный URL, как будто мы редактируем один идентификатор, например, url (r '^ detail / (? P \ d +) / $',

urls.py

url(r'^fast_edit/$', views.fast_edit, name='fast_edit'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...