【问题标题】:How to use custom form fields for model fields in the Django admin?如何在 Django 管理员中为模型字段使用自定义表单字段?
【发布时间】:2011-09-28 22:19:57
【问题描述】:

我想让 Django 管理员使用自定义表单字段来输入某些字段。

到目前为止,我创建了一个自定义模型字段,该字段绑定了表单字段,效果很好,但它引入了一个没有任何好处的不必要的模型字段。

我想可以使用自定义管理表单以某种方式完成(请参阅http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin),但我不知道该怎么做。

【问题讨论】:

  • 你对那个链接的例子有什么不明白的地方?似乎非常清楚:使用自定义字段定义您的表单,并将其设置为管理类的表单。有什么问题?

标签: django django-admin django-forms


【解决方案1】:
class MyModelForm(forms.ModelForm):
    my_field = MyCustomFormField()

    class Meta:
        model = MyModel

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm

【讨论】:

  • 谢谢!这就像一个魅力。我不知道你可以覆盖表单字段。
  • 其实这个方法行不通 -- 只对普通的Forms。如果想要覆盖ModelForm 上的字段,则必须在 Meta 类中完成。见docs.djangoproject.com/en/1.5/topics/forms/modelforms/…
  • @jnns:很奇怪,ModelForm 部分几乎是从您链接的 Django 文档页面中逐字提取的。
猜你喜欢
  • 2015-02-25
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 2015-06-13
  • 2019-11-30
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
相关资源
最近更新 更多