Получение значений выбора из текста переменной - 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?