Получение значений выбора из текста переменной - Django

У меня есть модель с полем positivesmallinteger, которая имеет такие варианты (из model_utils).

PERSON_TYPE = Choices(
    (0, 'women', _('Women')), 
    (1, 'men', _('Men')), 
    (2, 'boys', _('Boys')), 
    (3, 'girls', _('Girls'))
)

В другом месте моего кода я пытаюсь считать тип человека из файла, но когда я иду сохранять в модель, у меня есть только строковая версия типа человека, а не числовое значение, которое мне нужно сохранить в базе данных. Я знаю, как использовать PERSON_TYPE.women для получения числового значения типа человека, но проблема в том, что в моем коде тип человека будет строковой переменной. Это выглядит следующим образом

fileName = companyData.file.name
df = pd.read_csv(fileName, delimiter=',', encoding='utf-8-sig')
for index, row in df.iterrows():
    custPersonType = row[int(form.cleaned_data['columnNames'][0])-1] #gives the person type string

Я в основном хочу сделать PERSON_TYPE.custPersonType, но это не представляется возможным. Есть ли способ сделать это без использования словаря или длинных if/else?

Вернуться на верх