2013-10-30 43 views
0

我正在使用Django 1.5,并试图创建列表并将列表中的每个项目与选择字段关联起来,从哪里更改某些数据那个对象。将表单与列表中的每个项目相关联

我遇到了以下问题:

问题1:如何让此时,相应的对象的PK,以便在数据库更新呢?

PROBLEM2:当我做一个POST请求,将数据以各种形式不断变化,每个表单都会有改变数据为choicefield

如果不能达到预期的行为有道请把灯放在我的街上!

Tx!

下面是一些示例代码。

查看:

class MyListView(ListView, FormMixin): 
     model = MyModel() 
     queryset = MyModel.objects.all() 
     form_class = MyForm 

     def get_context_data(self, **kwargs): 
      context = super(MyListView, self).get_context_data(**kwargs) 
      form_class = self.get_form_class() 
      context['form'] = self.get_form(form_class) 
      return context 

     def post(self, request, *args, **kwargs): 
      form_class = self.get_form_class() 
      form = self.get_form(form_class) 
      if form.is_valid():   
       update_obj = MyModel.objects.get(pk= PROBLEM1) 
       ... 
       update_obj.save() 
      else: 
       print form.errors 
      return self.get(request, *args, **kwargs) 

形式:

class MyForm(forms.Form): 
     CHOICES=(
        ('one','one'), 
        ('two','two') 
       ) 
     nr = forms.ChoiceField(widget = forms.Select, choices = CHOICES) 

模板:

{% for item in object_list %} 
      <tr> 
       <td>{{ item.title }}</td> 
       <td>{{ item.nr}} 
        <form action="" method="post">{% csrf_token %} 
        {{ form.as_p }} <input type="submit" value="Submit" /> 
        </form> 
       </td> 
      </tr> 
{% endfor %} 
+0

任何人都可以给我更多提示吗? – sergiuz

回答

1

您应该使用formsets

+0

Tx!但你能给我更多的线索,一些例子吗? – sergiuz

+0

您是否阅读过该文档?那里有很多例子。 –

相关问题