Я пытаюсь создать динамическую категорию c, используя внешний ключ в django, но не могу сохранить раскрывающуюся категорию
Это мой view.py
@login_required(login_url='login')
@admin_only
def add_product(request):
name = request.POST.get('name')
description = request.POST.get('description')
price = request.POST.get('price')
select = request.POST.get('dropdown')
b = Product.objects.all()
categories = Category.objects.all()
if request.method == 'POST':
b = Product.objects.create(name=name, description=description, price=price, category=select)
return render(request, 'product.html', {'b': b, 'category': categories })
это models.py
class Category(models.Model):
categoryname = models.CharField(max_length=255, null=True)
def __str__(self):
return self.categoryname
class Product(models.Model):
name = models.CharField(max_length=255, blank=False, null=True)
description = models.CharField(max_length=255, blank=False, null=True)
price = models.CharField(max_length=50, blank=False, null=True)
date = models.DateTimeField(auto_now_add=True, null=True)
category = models.ForeignKey(Category, on_delete= models.CASCADE, null=True)
def __str__(self):
return self.name
это html для добавления продукта
{% block content %}
<div class="container">
<div class="row">
<form class="center-align" action="{% url 'addproduct' %} " method="POST">
{% csrf_token %}
<div class="input-field col s12">
<input value="" id="name" name="name" type="text" class="validate">
<label class="active" for="name">ProductName</label>
</div>
<div class="input-field col s12">
<input value="" id="des" name="description" type="text" class="validate">
<label class="active" for="des">Description</label>
</div>
<div class="input-field col s12">
<input value="" id="price" name="price" type="text" class="validate" required>
<label class="active" for="price">Price</label>
</div>
<div class="input-field col s12">
<select name="dropdown" class="browser-default">
<option value="" disabled selected>Choose your option</option>
{% for item in category %}
<option value="{{ item.categoryname }}">{{ item.categoryname }}</option>
{% endfor %}
</select>
</div>
<button class="btn waves-effect waves-light" type="submit" name="action" required>Add
<i class="material-icons right">send</i>
</button>
{{products.erros}}
</form>
</div>
</div>
{% endblock %}
Я не могу для выбора значения из выпадающего списка написано
Невозможно назначить "'category'": "Product.category" должен быть экземпляром "Category".
Пожалуйста, помогите мне с этим