1

フィールド(「アイコン」という名前)をラジオボタンとして表示したい。

JQueryでDateTimeFieldsを表示するためにcallbackメソッドを作成しました。次のコードでそれを行う必要がありますが、サーバーを実行すると次のエラーが発生します。

メタクラス ベース make_custom_datefield() を呼び出すときのエラーが予期しないキーワード引数 'widget' を取得しました

...

例外の場所: fields_for_model の Virtualenvs/django/local/lib/python2.7/site-packages/django/forms/models.py、164 行目

フォーム.py:

def make_custom_datefield(f):
    formfield = f.formfield()
    if isinstance(f, DateTimeField):
        formfield.widget.format = '%m/%d/%Y'
        formfield.widget.attrs.update({'class':'datetimePicker', 'readonly':'true'})
    return formfield

class FlashForm(forms.ModelForm):
    formfield_callback = make_custom_datefield

    class Meta:
        model = Flash
        exclude=('user','marker','address')
        widgets = {'icon': forms.RadioSelect(), }

私を助けてください、私はこれを解決する方法が本当にわかりません!

ありがとう

4

1 に答える 1

3

最終的に、私は答えを見つけました: **kwargs パラメータを追加する必要がありました。

def make_custom_datefield(f,**kwargs):
    formfield = f.formfield(**kwargs)
    if isinstance(f, DateTimeField):
        formfield.widget.format = '%m/%d/%Y'
        formfield.widget.attrs.update({'class':'datetimePicker', 'readonly':'true'})
    return formfield
于 2013-01-15T20:14:25.463 に答える