2012-06-01 49 views
4

我已經聲明瞭一個表,並且想要獲取使用checkboxfield檢查的行的值。任何幫助,我怎麼能寫這個事件在我的意見,使每次我選擇一行並點擊提交按鈕,返回該行的values.Code是這樣的:如何從Django_tables2行獲取信息?

class mytables(tables.Table): 
      new_database = tables.CheckBoxColumn() 
      student =tables.Column(accessor='Student') 
      Class = tables.Column(accessor='class') 

在我的模板,一個提交按鈕。

回答

14

您需要爲CheckBoxColumn選擇合適的值。通常,如果您要顯示查詢集,則您將使用CheckBoxColumn的每個對象的pk。在你的情況下,這看起來像:

class EnrollmentTable(tables.Table): 
    selection = tables.CheckBoxColumn(accessor='pk') 
    student = tables.Column() 
    class = tables.Column() 

然後,你需要渲染表單中的數表,從而使用戶可以提交形式,例如:

<form action="/someurl/" method="post"> 
    {% load render_tables from django_tables2 %} 
    {% render_table table %} 
    <input type="submit"/> 
</form> 

,那麼你就需要一個連接到/someurl/的視圖。在你的情況的看法就需要看POST變量selection

def someview(request): 
    if request.method == "POST": 
     pks = request.POST.getlist("selection") 
     selected_objects = SomeModel.objects.filter(pk__in=pks) 
     # do something with selected_objects 
    else: 
     # ... 
+0

感謝您的解決方案,但在調試我看到PKS是隻含無作爲,如果我再選擇兩排列表[u'None ,u'None] ...對此有任何想法? – Karan

+0

這聽起來像你沒有使用保存的模型對象作爲你的表格數據。 –

+0

非常感謝,我忘了在queryset中包含pk值。它的工作正常。 – Karan