The problem, as you've probably guessed, is that the _get_list_choices() function is called when the form is defined, which happens when its module is first imported during a process. The choices are allocated at that point, and don't change while the process lasts.
So instead you need to make sure the function is called every time the form is instantiated, which you can do in the __init__ method:
class MyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['employment_status'].choices = _get_list_choices('Employment_Status')
Alternatively, you might want to consider using a ModelChoiceField instead of a plain ChoiceField, and using the `queryset` parameter rather than `choices` - your method can then return the actual Choice objects, and the field will ensure that the queryset is evaluated each time.
--
DR.