В настоящее время я делаю сайт для пекарни моих родителей.И я хочу создать для них собственную страницу администратора, чтобы они могли легко обновлять свои продукты.
Все, что у меня есть, - это ListView, который отображает все продукты.![enter image description here](https://i.stack.imgur.com/t5Mc9.png)
Это моя модель:
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](https://i.stack.imgur.com/Nhp1F.png)