2011-02-02 100 views
1

的另一個複選框問題的子集。我有一個列表中的項目。每個項目都有一個複選框。我想要做的是我想要做的就是勾選作爲項目子集的所有項目。 items = client.storageitem_set.all()的子集是items = models.StorageItem.objects.filter(orderstoragelist__order__pk = order.pk)這是在稱爲edit_order的另一個視圖中定義的。Django複選框只想檢查項目列表

因此,在views.edit_order中,有一個子集列表。我去views.client_items這是我希望在複選框勾選項目的所有子集。現在代碼只檢查第一個項目。我不想要這個了。我想檢查項目的子集。

def client_items(request, client_id = 0): 
    client = None 
    items = None 
    try: 
     client = models.Client.objects.get(pk = client_id) 
     items = client.storageitem_set.all() 
    except: 
     return HttpResponse(reverse(return_clients)) 
    return render_to_response('items.html', {'items':items, 'client':client}, context_instance = RequestContext(request)) # Redirect after POST 


{% for item in items %} 
      <tr class="items_table_row"> 
        <td><input type="checkbox" name="{{item.pk}}" value="{{item.pk}}" "{% ifequal forloop.counter 1 %} checked="checked"{% endifequal %}> 
        <td>{{item.tiptop_id}}</td><td>{{item.alternative_id}}</td><td>{{item.title}}</td><td>{{item.type}}</td><td>{{item.format}}</td> 
        <td><span id="{{item.pk}}" name="type">{{item.itemstatushistory_set.latest}}</span></td><td>{{item.itemstatushistory_set.latest.date.date|date:"d M Y"}}</td> 
        <td><a href="{% url tiptop.views.edit_item item.client.pk item.pk %}" onclick="return showAddAnotherPopup(this);">Edit</a></td> 
      </tr> 
    {% endfor %} 
+0

你怎麼指望得有不同的看法名單?它如何得到*這個*視圖? – 2011-02-02 11:41:07

+0

@Daniel,基本上在views.edit_order中,它有一個項目列表,但不是全部。只是已經訂購的那個。因此,對於每個view.edit訂單,都有一個將它們重定向到項目列表頁面的按鈕。所有項目都列出。我希望在完整項目列表中檢查views.edit_order中列出的所有項目。其他項目應該不挑剔。 – Shehzad009 2011-02-02 11:54:12

回答

0

這可能有助於雖然我從來沒有這樣做過,假設你有一些模型M你只需要渲染它的形式,你需要和應用子集上的數據/選項。

 

# Model 
class M(models.Model): 
    status = models.BooleanField() # this will be our checkbox 
    # your stuffs 

# Model's form 
class MForm(ModelForm): 
    class Meta: 
     model = M 

     widgets = { 
      'status': CheckboxInput(attrs = {'checked': 'checked'}), 
     } 
 

蘇丹

相關問題