2013-10-30 53 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

您是否閱讀過該文檔?那裏有很多例子。 –

相關問題