如何防止 Django 在模型中自动大写 verbose_name?例如:
class TestModel(models.Model):
enb_id = models.IntegerField(null=True, verbose_name="eNB ID", blank=True)
我想自己处理大写并在网站的任何地方显示“eNB ID”而不是“ENB ID”。
最佳答案
似乎 Django capitalizes the first letter when setting the form field for that model field :
...
defaults = {
'required': not self.blank,
'label': capfirst(self.verbose_name),
'help_text': self.help_text
}
您可以创建自己的自定义模型字段来覆盖 capfirst
(通过将标签作为 kwarg 传递):
from django.db import models
class UpcappedModelField(models.Field):
def formfield(self, form_class=forms.CharField, **kwargs):
return super(UpcappedModelField, self).formfield(form_class=forms.CharField,
label=self.verbose_name, **kwargs)
关于python - 如何在 Django 中停止自动大写 verbose_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000063/