I returned obj itself in my customized MultipleModelChoiceField
from django.forms.models import ModelMultipleChoiceField
class MyMultipleModelChoiceField(ModelMultipleChoiceField):
def label_from_instance(self, obj):
return obj
In my template I have
<table>
{% for checkbox in form.MyField %}
<tr>
<td>
{{ checkbox.tag }}
</td>
<td>
{{ checkbox.choice_label.field1 }}
</td>
<td>
{{ checkbox.choice_label.field2}}
</td>
</tr>
{% endfor %}
</table>
The field1 and field2 are fields of the object returned from label_from_instance. These programs display all choices in a table where each row is an object/record with a checkbox.