Django таблица или Dict: производительность?

У меня есть несколько небольших таблиц ключ/значение в Django, и их значения никогда не меняются

ie: 1->"Active", 2->"Down", 3->"Running"....

и несколько раз, я делаю некоторые get по id, а другие по имени. Поэтому я спрашиваю, не будет ли более оптимальным переместить их все как Dict (глобально или в модели)? спасибо

Обычно django querysets медленнее, чем dicts, поэтому если вы хотите написать модель с одним полем, которое имеет эти статусы (активен, не работает, запущен), лучше использовать dict, пока нет необходимости в редактируемости.

В любом случае я не понимаю такого вопроса, выигрыш в производительности не очень велик, пока вы не получите ~10k+ записей в одном QS, и даже тогда вы можете привести всю модель к списку, используя синтаксис .values_list. Выполнение займет примерно часть секунды.

Также, если я правильно понимаю, эти значения должны быть в любом случае в models.CharField с установленным полем choices, а не устанавливаться с помощью приспособления в models.ForeignKey.

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