Django:如何从CreateView创建下拉列表

时间:2015-09-01 13:06:04

标签: python django

我有一个您在新客户中输入的表单。在客户端表单中,您应该能够选择它们所属的分支。我试图在模板中添加一个选择字段,将所有分支列为选项,但它不返回任何内容。这样做的正确方法是什么。

models.py

class Client(models.Model):
    branch = models.ForeignKey(Branch)

view.py

class ClientCreate(CreateView):
   model = Client
   fields = [..., 'branch']

form.html

<form role="form" method="post" action="."> {% csrf_token %}
  <div class="form-group">
    <label>Type</label>
    <div class="input-group">
      <select id="id_type" name="type">
        <option value selected="selected">Select</option>
        {% for i in client_create %}
        <option value="{{i.branch}}">{{i.branch}}</option>
        {% endfor %}
      </select>
    </div>
  </div>

1 个答案:

答案 0 :(得分:2)

首先,它的模型不是模型:

class ClientCreate(CreateView):
    model = Client
    fields = [..., 'branch']

第二件事,尝试使用生成的ModelForm

<form role="form" method="post" action="."> 
    {% csrf_token %}
    ...
    {{ form.branch }}
</form>