Данные не показаны в базе данных BOTH и на веб-странице
Здравствуйте, я делаю CRUD проект покупок на основе моделей Products, categories, sub categories, size, colors.I currently doing CRUD of SUBcategories which is connected to categories through foreign key.
Я пытаюсь вставить данные на веб-страницу и в базу данных, но они не приходят ниже приведена модель подкатегорий
class SUBCategories(models.Model):
category_name = models.ForeignKey(Categories,on_delete=models.CASCADE)
sub_categories_name = models.CharField(max_length=20)
sub_categories_description = models.CharField(max_length=20)
isactive = models.BooleanField(default=True)
def __str__(self):
return self.categories_name
ниже представлены функции показа и вставки подкатегорий
def show_sub_categories(request):
showsubcategories = SUBCategories.objects.filter(isactive=True)
#print(showsubcategories)
serializer = SUBCategoriesSerializer(showsubcategories,many=True)
print(serializer.data)
return render(request,'polls/show_sub_categories.html',{"data":serializer.data})
def insert_sub_categories(request):
if request.method == "POST":
insertsubcategories = {}
insertsubcategories['sub_categories_name']=request.POST.get('sub_categories_name')
insertsubcategories['sub_categories_description']=request.POST.get('sub_categories_description')
form = SUBCategoriesSerializer(data=insertsubcategories)
if form.is_valid():
form.save()
print("hkjk",form.data)
messages.success(request,'Record Updated Successfully...!:)')
print(form.errors)
return redirect('sub_categories:show_sub_categories')
else:
category_dict = Categories.objects.filter(isactive=True)
category = CategoriesSerializer(category_dict,many=True)
hm = {'context': category.data}
print(hm)
# print(form.errors)
return render(request,'polls/insert_sub_categories.html',hm)
else:
category_dict = Categories.objects.filter(isactive=True)
category = CategoriesSerializer(category_dict,many=True)
hm = {'context': category.data}
print(hm)
return render(request,'polls/insert_sub_categories.html',hm)
ниже показаны страницы показа и вставки подкатегорий
{% for result in data %}
<tbody>
<tr>
<td><b>{{result.sub_categories_name}}</b></td>
<td><b>{{result.sub_categories_description}}</b></td>
<td style="position: relative;left:50px;">
<a href="sub_categories/edit_sub_categories/{{result.id}}">
<button class="btn btn-primary">
<i class="fa-solid fa-pen-to-square">EDIT</i>
</button>
</a>
</td>
<td>
<a href="{% url 'sub_categories:delete_sub_categories' result.id %}" onclick="return confirm('Are You Sure you want to delete?')">
<button class="btn btn-danger">
<i class="fa-solid fa-trash">DELETE</i>
</button>
</a>
</td>
</tr>
</tbody>
{% endfor %}
<tr>
<td>category name</td>
<td>
<select name="category_name" id="">
{% for c in context %}
<option value="{{c.category_name}}">{{c.category_name}}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>sub categories Name</td>
<td>
<input type="text" name="sub_categories_name" placeholder="sub categories ">
</td>
</tr>
<tr>
<td>Sub categories Description</td>
<td>
<textarea name="sub_categories_description" id="" cols="30" rows="10">
</textarea>
</td>
</tr>
данные не поступают ни в базу данных, ни на веб-страницу, любая помощь приветствуется, спасибо
В вашей функции вставки поле category_name остается.
Попытка:
def insert_sub_categories(request):
if request.method == "POST":
insertsubcategories = {}
insertsubcategories['category_name']=request.POST.get('category_name')
insertsubcategories['sub_categories_name']=request.POST.get('sub_categories_name')
insertsubcategories['sub_categories_description'] = request.POST.get('sub_categories_description')
.
.
.
Альтернатива: Используйте представления на основе классов Django для CRUD операций. Это сократит объем кода и, следовательно, ошибок.