2012-06-01 3 views
4

테이블을 선언하고 checkboxfield를 사용하여 검사되는 행의 값을 가져 오려고합니다.Django_tables2 행에서 정보를 얻는 방법은 무엇입니까?

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

을 그리고 내 템플릿에 버튼을 제출 : 어떤 도움도, 그 때마다 내가 행을 선택하고 제출 '버튼을 누르 그래서 난 내보기에이 이벤트를 쓸 수있는 방법은 행의 values.Code이 이렇게되면 반환합니다.

답변

14

CheckBoxColumn에 적합한 값을 선택해야합니다. 일반적으로 쿼리 세트를 표시하는 경우 CheckBoxColumn에 각 객체의 pk을 사용합니다. 당신이거야 그럼

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

: 사용자가 양식, 예를 제출할 수 있도록 폼에서 테이블을 렌더링해야합니다 그리고

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

: 같은 귀하의 경우에는이 보일 것이다 보기가 /someurl/에 연결되어야합니다. 솔루션에 대한

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 난 다음 두 행을 선택하는 경우와 같이에만 없음을 포함하지 않는 목록입니다 볼 : 귀하의 경우 뷰는 POST 변수 selection 볼 필요가있을 것이다 , 아무도 ...] 그것에 관한 어떤 생각? – Karan

+0

저장된 모델 개체를 테이블 데이터로 사용하지 않는 것 같습니다. –

+0

고마워요. queryset에 pk 값을 포함하는 것을 잊어 버렸습니다. 잘 작동합니다. – Karan

관련 문제