Как изменить `имя_объекта` модели в Django - PullRequest
6 голосов
/ 08 октября 2011

У меня есть объект LeatherChair в Django, и меня бесит, что Django дает ему object_name из leatherchair. Я хочу, чтобы это было leather_chair, с подчеркиванием.

Кажется, object_name хранится в экземпляре Options, но как мне это изменить?

1 Ответ

2 голосов
/ 08 октября 2011

Попытка изменить object_name - действительно плохая идея. Он установлен в Model._meta, как вы говорите, но это не одна из документированных доступных мета-опций . Попытка изменить это может привести к поломке.

Я не понимаю, почему так важно это изменить. Он не отображается публично, поэтому не имеет значения, есть ли у него подчеркивание или нет. В комментарии ниже вы указываете, что object_name используется CBV, но я бы использовал документированные способы изменения context_object_name в CBV вместо того, чтобы пытаться изменить его на модели

Если вам нужно изменить его на модели, вам, вероятно, нужно взломать django.db.models.options. Вы можете попробовать установить обезьяньё исправление DEFAULT_PARAMS, чтобы установить object_name в модели Meta class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...