Как изменить имя объекта модели в 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 класса.