I've done this several times, and Toby's description is pretty much what I have done.
Sometimes three levels of non-data-model classes to represent the matrix: a table class a row class a cell class Then formsets to populate the rows with data entry fields. Then builder methods to morph the data-model objects into the cells and rows, and from there to the formsets. Usually one builder from data to matrix classes, and another from matrix rows to formsets. The formsets then populate the table rows. Then a template with a table to represent the table class, with formset form fields in the td's. Then deconstruction methods to morph the formset forms with entries back into the data-model objects. Might be a simpler way, but that works. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.