I don't get your question.
Do you get the specializations in template and only need to display them differently?
{% for person in person_list%}
<tr>
<td>{{ person }}</td>
<td>{{ person.specialization_id.all|join:", " }}</td>
</tr>
{% endfor %}
Furthermore, don't suffix foreign keys and many-to-many relations with _id
.
For foreign keys Django does it for you already, so in DB you end up with field_id_id
.
For many-to-many a separate table is created and the specialization_id
isn't created anywhere in the DB. Use more verbose name, like specializations
instead.