сделай обе реализации и проверь
про нагрузку ничего не сказано
быстрее вообще это всё в памяти держать, 5кк не так много, правда про размер файла не сказано
ща будет играть в угадайку (ты не показал, ни форму, ни место где возникает ошибка, ни что за ошибка - формы или рантайм), у тебя в save или в сигналах создания профиля, да? ну так наверно там сначала надо проверить его существование, не?
Арсений Никонов, ты что-то путаешь, удалил ключ, значит удалил данные. Разбирайся что у тебя там происходит, может удаляются не те ключи, или новые данные аналогичны удаленным, либо вообще кеш из браузера берется
Владислав, __str__ вообще не должна гарантировать уникальность, тем более не надо на нее что-то завязывать, зачем такое пришло в голову? Нужна уникальность, ну так сразу на id и завязывай "очень важная бизнес-функциональность", а не на __str__
Владислав, так в чем проблема определить __str__ это минимум хороший тон в django? в django точно в админке, в drf возможно где-нить при дебагинге всплывет
list([range(2)])
как породил такой треш?