idegree
@idegree
Senior Workaround Developer

Как добавить к модели Django динамические аттрибуты?

Вопрос подобный этому - Django — как лучше привязать к модели несколько элементов (неизвестно, сколько)?
Но хотелось бы иметь возможность задавать тип данных полю - число, строка, время.
Как это лучше сделать? Добавить поле с типом данных (чтобы в админке был селект) + кастомную валидацию написать в зависимости от типа данных и хранить всё в CharField.
Или есть лучшие способы? Насколько хорошо тут подойдет Django-eav и какие есть подводные камни при работе с ним?
  • Вопрос задан
  • 1082 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
EAV - единственный способ, которым это можно реализовать. Подводный камень в том, что EAV - это всегда признак того, что реляционную БД пытаются использовать не по назначению. К тому же он чертовски медленный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы