Наличие общих полей на основе объектов модели в forms.py в django

У нас есть модель под названием Permission, и мы перечислили ее в форме в шаблоне django следующим образом:

                            {% for item in permissions %}
                            <tr>
                              <td class="text-nowrap">{{ item.app }}</td>
                              <td>
                                <div class="d-flex">
                                  <div class="form-check me-3 me-lg-5 mb-0 mt-0">
                                    <input class="form-check-input" type="checkbox" name="{{ item.app }}_add" id="{{ item.app }}ManagementWrite">
                                    <label class="form-check-label" for="{{ item.app }}ManagementWrite">add</label>
                                  </div>
                                  <div class="form-check me-3 me-lg-5 mb-0 mt-0">
                                    <input class="form-check-input" type="checkbox" name="{{ item.app }}_read" id="{{ item.app }}ManagementRead">
                                    <label class="form-check-label" for="{{ item.app }}ManagementRead">read</label>
                                  </div>
                                  <div class="form-check me-3 me-lg-5 mb-0 mt-0">
                                    <input class="form-check-input" type="checkbox" name="{{ item.app }}_update" id="{{ item.app }}ManagementUpdate">
                                    <label class="form-check-label" for="{{ item.app }}ManagementUpdate">update</label>
                                  </div>
                                  <div class="form-check mb-0 mt-0">
                                    <input class="form-check-input" type="checkbox" name="{{ item.app }}_delete" id="{{ item.app }}ManagementDelete">
                                    <label class="form-check-label" for="{{ item.app }}ManagementDelete">delete</label>
                                  </div>
                                </div>
                              </td>
                            </tr>
                            {% endfor %}

Итак, здесь у нас есть четыре варианта чтения, записи, обновления и удаления для каждого объекта в таблице разрешений .

Но как мне сделать форму в forms.py для этого, чтобы у меня были BoleanFields для каждого уровня доступа? например, четыре поля для приложения ticket (чтение, запись, обновление, удаление) и четыре поля для приложения users как одно и то же .

Вы можете использовать ListView, CreateView, UpdateView, DeleteView в django generic views. Эти представления дают вам возможность определить form_class или по умолчанию после определения model для них, они используют модель формы и вы можете получить доступ к форме в шаблоне с помощью {{ form }}.

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