Django -Вставить выпадающее значение до postgresql - PullRequest
0 голосов
/ 09 апреля 2020

Я очень новичок в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...