Как изменить имя объекта модели в Django
у меня есть объект LeatherChair
в Джанго, и меня бесит, что Джанго дает ему object_name
of leatherchair
. Я хочу, чтобы это было leather_chair
, с подчеркиванием.
на object_name
Кажется, хранится в Options
экземпляр, но как это изменить?
1 ответов
пытается изменить object_name
- Это очень плохая идея. Он установлен в Model._meta
Как вы говорите, но это не один из документированных доступные возможности мета. Попытка изменить это рискует сломать вещи.
Я не понимаю, почему это так важно, чтобы изменить его. Он не отображается публично, поэтому на самом деле не имеет значения, имеет ли он подчеркивание или нет. В комментарии ниже вы указываете, что object_name
используется CBV, но я бы использовал документированные способы изменения context_object_name
В CBV вместо того, чтобы пытаться изменить его на модели
если вы должны изменить его на модели, вам, вероятно, нужно взломать в django.db.models.options
. Вы можете попробовать monkey patching DEFAULT_PARAMS
, чтобы вы могли установить object_name
модель Meta
класса.