Я очень новичок в Django, и я хотел бы вставить значение раскрывающегося списка в базу данных: создал два приложения django с именами «Проекты» и «Клиенты». После добавления соответствующих данных клиента я я пытаюсь добавить соответствующий проект через выпадающий список, значения поступают из соответствующей таблицы приложения проекта. Но что-то пошло не так,
модель клиента
Создайте здесь свои модели.
class clients(models.Model):
cname=models.CharField(max_length=20)
cadd=models.TextField(max_length=50)
cmob=models.BigIntegerField()
cemail=models.EmailField(max_length=100)
cproject=models.CharField(max_length=50,default=None)
class Meta:
db_table="client"
модель проекта
class projects(models.Model):
pname=models.CharField(max_length=100)
pcode=models.CharField(max_length=100)
loc=models.CharField(max_length=50)
class Meta:
db_table="projects"
соответствующих представлений для добавления клиентов в раскрывающемся списке
def add(request):
# show projects details from DB
if projects.objects.count()>0:
data=projects.objects.all()
return render(request,'add.html',{'data':data})
else:
return render(request,'add.html')
def addpro(request):
if request.method=="POST":
temp.cproject=request.POST['sel']
temp.save()
return redirect(addpro)
else:
return render(request,'add.html')
html для раскрывающегося списка и выбора
<div class="container">
<form method="POST">
{% csrf_token %}
<select name="sel">
<option selected disabled="true"> -- Select -- </option>
{% for var in data %}
<option >{{var.pname}}</option>
{% endfor %}
</select>
<a class="btn btn-info" type="submit" href="{% url 'addpro'%}"><i class="fas fa-list-alt"></i>Add</a>
</form>
</div>