Редактирование модели в ListView - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я делаю сайт для пекарни моих родителей.И я хочу создать для них собственную страницу администратора, чтобы они могли легко обновлять свои продукты.

Все, что у меня есть, - это ListView, который отображает все продукты.enter image description here

Это моя модель:

class menulist(models.Model):
    name = models.CharField(max_length=120)
    description = models.CharField(max_length=500)
    price = models.DecimalField(decimal_places=1, max_digits=10, default=100.00)
    category_choices = (
        ('breads', 'Breads'),
        ('cakes', 'Cakes'),
        ('hotfood', 'Hot Food'),
        ('porkrolls', 'Pork Rolls'),
        ('drinks', 'Drinks'),
        ('MISC', 'Misc'),
    )
    category = models.CharField(max_length=50, choices=category_choices, default='MISC',)
    dateadded = models.DateField(auto_now_add=True)
    dateupdated = models.DateField(auto_now=True)
    img = models.ImageField(upload_to='products/', default='products/blank.jpg')

    def __str__(self):
        return self.name

Вид:

class ProductAdminView(ListView):
    template_name = 'menulistapp/product_admin.html'
    queryset = menulist.objects.all()

Шаблон:

    {% extends "base.html" %}

    {% block content %}        
  <div class="container">
      <div class="row">

          <table class="table table-striped table-hover ">
              <thead class="thead-dark">
                <tr>
                    <th style="width: 15%"scope="col"></th>
                    <th style="width: 55%" scope="col">Product Name</th>
                    <th scope="col">Category</th>
                    <th scope="col">Price</th>
                    <th scope="col">Date Added</th>
                    <th scope="col">Last Updated</th>

                </tr>
              </thead>
              <tbody>
                {% for obj in object_list %}
                <tr>
                    <td class="align-middle"><img src="{{ obj.img.url }}" class="img-fluid"></td>
                    <td class="align-middle">{{ obj.name }}</td>
                    <td class="align-middle">{{ obj.get_category_display }}</td>
                    <td class="align-middle">${{ obj.price }}</td>
                    <td class="align-middle">{{ obj.dateadded }}</td>
                    <td class="align-middle">{{ obj.dateupdated }}</td>

                </tr>
                {% endfor %}
              </tbody>
            </table>

      </div>
  </div>

    {% endblock %}

Как разделить элементы на их собственные таблицы категорий?

И как мне сделать так, чтобы каждая ячейка редактировалась с помощью своего собственного CharField, и в нижней части каждого из них была кнопка "СОХРАНИТЬ"таблица?

EG: enter image description here

1 Ответ

0 голосов
/ 20 декабря 2018

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

Для получения дополнительной информации перейдите через https://docs.djangoproject.com/en/2.1/topics/forms/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...