如何在 Django 管理员中为模型字段使用自定义表单字段?
Posted
技术标签:
【中文标题】如何在 Django 管理员中为模型字段使用自定义表单字段?【英文标题】:How to use custom form fields for model fields in the Django admin? 【发布时间】:2011-09-28 22:19:57 【问题描述】:我想让 Django 管理员使用自定义表单字段来输入某些字段。
到目前为止,我创建了一个自定义模型字段,该字段绑定了表单字段,效果很好,但它引入了一个没有任何好处的不必要的模型字段。
我想可以使用自定义管理表单以某种方式完成(请参阅http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin),但我不知道该怎么做。
【问题讨论】:
你对那个链接的例子有什么不明白的地方?似乎非常清楚:使用自定义字段定义您的表单,并将其设置为管理类的表单。有什么问题? 【参考方案1】:class MyModelForm(forms.ModelForm):
my_field = MyCustomFormField()
class Meta:
model = MyModel
class MyModelAdmin(admin.ModelAdmin):
form = MyModelForm
【讨论】:
谢谢!这就像一个魅力。我不知道你可以覆盖表单字段。 其实这个方法行不通 -- 只对普通的Form
s。如果想要覆盖ModelForm
上的字段,则必须在 Meta 类中完成。见docs.djangoproject.com/en/1.5/topics/forms/modelforms/…
@jnns:很奇怪,ModelForm 部分几乎是从您链接的 Django 文档页面中逐字提取的。以上是关于如何在 Django 管理员中为模型字段使用自定义表单字段?的主要内容,如果未能解决你的问题,请参考以下文章