я как раз про это и писал. зарегистрировалось, например, 12222 пользователей при помощи такой модели, а потом, например, ген.директор сказал заменить 'man' на 'Муж.' . и сразу всплывает избыточность... сомнительная польза от choices. и вообще задач, в которых можно choices использовать что-то в голову не приходит
В СУБД PostgreSql есть такая замечательная вещь как enum - это один из типов данных, хранимых в БД. Так вот, если вы ручками в БД укажете у поля таблицы тип enum, в котором как раз и будут два значения man и women, то как раз освобождаетесь от избыточности и дополнительной таблицы.
Только вот косяк в том, что из коробки Django не умеет создавать enum'ы, поэтому вам придется в самой бд сделать это вручную. Также Django не умеет работать со схемами, что конечно же печально.... И это два самых больших, на данный момент, косяка в Django, которые я обнаружил за год изучения и практики.