Edit SurveyRecord model to not make use of different Survey property for each subclass.
This does mean that a simple query needs to be constructed by hand whenever you want to query for every SurveyRecord for a specific Survey. However the naming is now the same over each SurveyRecord and it fits well into the rest of the design of Melange.
from django.utils.translation import gettext_lazy as _
PROVINCE_CHOICES = (
('EC', _('Eastern Cape')),
('FS', _('Free State')),
('GP', _('Gauteng')),
('KN', _('KwaZulu-Natal')),
('LP', _('Limpopo')),
('MP', _('Mpumalanga')),
('NC', _('Northern Cape')),
('NW', _('North West')),
('WC', _('Western Cape')),
)