【发布时间】:2013-05-24 16:51:50
【问题描述】:
给定:
#models.py
from django.db import models
class MyModel(models.Model):
myfield = models.IntegerField('Detailed description')
#forms.py
from django import forms
from models import MyModel
class MyModelForm(forms.ModelForm):
myfield = forms.IntegerField()
class Meta:
model = MyModel
使用此设置 - 管理页面上不会显示详细名称,而是字段名称(首字母大写)。如果从 MyModelForm 中删除覆盖字段 - 详细名称将照常显示。如果提供带有描述的字符串作为参数label,forms.IntegerField() - 它将显示在管理页面上。
我正在寻找pythonic方式来显示模型类中定义的verbose_name,以防万一在ModelForm中覆盖此字段表单,而不使用label提示。
有什么想法吗?
【问题讨论】:
-
据我所知,没有直接的方法可以做到这一点 - 如果您在表单声明中手动指定一个字段,则必须设置它的所有内容。当您只想稍微更改默认字段的行为时,一种常见的解决方法是使用表单的
__init__方法来编辑字段属性。