如何在Django中更改模型的`object_name`

Ram*_*hum 6 python django

我有一个对象LeatherChair在Django,这让我懊恼的是Django的给它一个object_nameleatherchair.我希望它是leather_chair一个下划线.

object_name似乎是存储在Options实例中,但如何改变这种状况?

Ala*_*air 2

试图改变object_name是一个非常糟糕的主意。它是按照您所说的设置的Model._meta,但它不是记录的可用元选项之一。尝试改变它可能会破坏东西。

我不明白为什么改变它如此重要。它不会公开显示,因此是否有下划线并不重要。在下面的评论中,您指出object_nameCBV 使用了它,但我会使用记录的方法context_object_name在 CBV 中进行更改,而不是尝试在模型上更改它

如果您必须在模型上更改它,您可能需要在django.db.models.options. 您可以尝试猴子修补DEFAULT_PARAMS,以允许您object_name在模型Meta类中进行设置。