Django管理窗口小部件覆盖

时间:2013-03-24 15:07:28

标签: django django-forms django-admin

我编写了一个类'MyWidget',它扩展了ForeignKeyRawIdWidget并覆盖了render方法。 (https://github.com/django/django/blob/master/django/contrib/admin/widgets.py行:130)

现在我想对管理站点中的某些字段使用MyWidget而不是ForeignKeyRawIdWidget。

目前我已经尝试用这些行创建一个ModelForm


class Meta:
   model = MyModel
   widgets = {
      myfield : MyWidget
   }

另一个像这样


myfield = MyWidget()    
class Meta:
   model = MyModel

但是没有一个对我有用,我总是得到这两个错误:

[第一形式配置]
例外值:

调用元类库时出错      init ()至少需要3个参数(给定1个)

例外位置:     /home/martin/envs/dmbcau/local/lib/python2.7/site-packages/django/forms/fields.py  在 init ,第90行

[第二种形式配置]

例外值:
  init ()至少需要3个参数(给定1个)异常位置:/ MyWidget中的/home/martin/Projects/dmbcau/storage/admin.py,第244行



有人知道我应该做些什么来使这个工作?

小部件来源 @catherine

MyWidget = ForeignKeyLinkedRawIdWidget
http://pastebin.com/1qug1vSz

0 个答案:

没有答案