Данные не обновляются при выполнении операций CRUD в магазинах
В настоящее время я пишу CRUD-операцию покупки, где Категории и SUB категории связаны через foreignkey и я использую сериализаторы.
Я написал функцию update для редактирования данных, однако, данные не обновляются, несмотря на написание функции update
ниже приведена функция редактирования и вставки подкатегорий
def edit_sub_categories(request,id):
if request.method == 'GET':
editsubcategories = SUBCategories.objects.filter(id=id).first()
s= SUBCategoriesSerializer(editsubcategories)
category_dict = Categories.objects.filter(isactive=True)
category = CategoriesSerializer(category_dict, many=True)
hm = {"SUBCategories":s.data,"context": category.data}
# print(category.data)
return render(request,'polls/edit_sub_categories.html',hm)
else:
editsubcategories = {}
d = SUBCategories.objects.filter(id=id).first()
if d:
editsubcategories['sub_categories_name']=request.POST.get('sub_categories_name')
editsubcategories['sub_categories_description']=request.POST.get('sub_categories_description')
# print(editsubcategories)
form = SUBCategoriesSerializer(d,data=editsubcategories)
if form.is_valid():
form.save()
# print("hkjk",form.data)
print('form error',form.errors)
messages.success(request,'Record Updated Successfully...!:)')
return redirect('sub_categories:show_sub_categories')
else:
return redirect("sub_categories:show_sub_categories")
def insert_sub_categories(request):
if request.method == "POST":
form = SUBCategoriesSerializer(data=request.POST)
if form.is_valid():
form.save()
messages.success(request, "Record Updated Successfully...!:)")
return redirect("sub_categories:show_sub_categories")
category_dict = Categories.objects.filter(isactive=True)
category = CategoriesSerializer(category_dict, many=True)
hm = {"context": category.data}
return render(request, "polls/insert_sub_categories.html", hm)
html код страницы редактирования
<form method="POST" >
{% csrf_token %}
<table> <!--content-table-->
<thead>
<tr>
<td>Sub Categories ID</td>
<td><input type="text" name="id" value="{{SUBCategories.id}}" readonly></td>
</tr>
<tr>
<td>Categories Name</td>
<td>
<!-- <input type="text" name="category_name" value="{{SUBCategories.category_name}}"> -->
<select name="category_name" id="">
{% for c in context %}
<option value="{{c.id}}">{{c.category_name}}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>Sub Categories Name</td>
<td><input type="text" name="sub_categories_name" value="{{SUBCategories.sub_categories_name}}"></td>
</tr>
<tr>
<td>Sub Categories Description</td>
<td><input type="text" name="sub_categories_description" value="{{SUBCategories.sub_categories_description}}"></td>
</tr>
<tr>
<td>
<!-- <input type="submit" value="update record"> -->
<a href="{% url 'sub_categories:show_sub_categories' %}">
<button type="submit" class="btn btn-success" value="update record">
<i class="fa-solid fa-database"> Update Value</i>
</button>
</a>
</td>
<td>
{% if messages %}
{% for mess in messages %}
<b style="color:green;"> {{mess}} </b>
{% endfor %}
{% endif %}
</td>
</tr>
</thead>
</table>
<button class="btn btn-success"><a href="{% url 'sub_categories:show_sub_categories' %}" style="color:red;">Home Page</a></button>
</form>
где я ошибаюсь в коде?