python - django tables data alternating rows -


i want build table shows statistics baseball games. have model set represent 1 baseball game.

class baseball(models.model):     gametime = models.datetimefield()     vteam = models.charfield(max_length=255)     vpitcher = models.charfield(max_length=255)     hteam = models.charfield(max_length=255)     hpitcher = models.charfield(max_length=255) 

there other fields well, sufficient explain i'm trying do.

i'm using django-tables2 render tables. defined table class

class baseballtable(tables.table):     class meta:         model = models.baseball 

and view

class home(singletableview):     model = models.baseball     table_class = tables.baseballtable 

but default behavior not want. tables showing 1 row per entry in database.

gametime     vteam     vpitcher     hteam     hpitcher date1        vteam1    vpitcher1    hteam1    hpitcher1 date2        vteam2    vpitcher2    hteam2    hpitcher2 

instead want rows of table not mimic database model directly, alternate rows follows 1st , 3rd row pull same place 2nd , 4th row different.

gametime     team     pitcher date1        vteam1   vpitcher1 <blank>      hteam1   hpitcher1 date2        vteam2   vpitcher2 <blank>      hteam2   hpitcher2 

does know if django-tables2 can or if need write own tables?

i believe have reasonable question.

first of all, reocmmend using normal table , not modeltable since need override of columns after all.

different kinds of data in rows not django-tables2 supports out of box documentation doesn't that. however, there many methods can use achieve want.

one way arrange data pass table in such way 1 row contain date1 - vteam1 - vpitcher1 , next row contain blank - hteam1 - hpitcher1. create new list table data , put in records original query data. must carefull sorting if allow solution.

another easier way create queries return date1, vteam<br/>hteam1, vpitcher1<br/>hpicher1. when render vteam1 , hteam1 in different rows ! because can't test right now, if not seem work <br> not safe should output value enclosed in mark_safe.

to override render_row team , pitcher , return mark_safe(value) (or create new class tworowscolumn print value - may create small html table contain 2 rows hteam , vteam , printed in cell hteam/vteam). here sorting easier won't able sort hteam or hpitcher.

there other ways - instance subclassing modeltable want don't recommend since requirement specific , wouldn't reused anywhere else.


Comments